首页 > 其他分享 >1. CMake 概述

1. CMake 概述

时间:2024-07-15 10:41:48浏览次数:8  
标签:CMake makefile 编译 跨平台 概述 构建

1. CMake 概述

CMake 可以用来构建C/C++工程,可以跨平台。允许开发者指定整个工程的编译流程

在CMake 没有出来之前,开发者需要手写 makefile,但是不同平台下的 makefile 写法不同,所以移植软件的难度就很大。而 CMake 可以自动生成本地化的工程文件和 makefile,其编译流程如下:

image-20230309130644912

  • 蓝色虚线表示使用 makefile 构建项目的过程

  • 红色实线表示使用 CMake 构建项目的过程

CMake 的优点:

  • 跨平台
  • 能够管理大型项目
  • 简化编译构建过程和编译过程
  • 可扩展:可以为 CMake 编写特定的模块,扩充 CMake 的功能

标签:CMake,makefile,编译,跨平台,概述,构建
From: https://www.cnblogs.com/kobayashilin1/p/18302663

相关文章

  • 【重走编程路】设计模式概述(十) -- 责任链模式、命令模式
    文章目录前言17.责任链模式(ChainofResponsibility)定义问题解决方案应用场景优缺点18.命令模式(Command)定义问题解决方案应用场景优缺点前言行为型模式关注对象之间的交互以及如何分配职责,提供了一种定义对象之间的行为和职责的最佳方式。本章介绍创建型模式中......
  • 安全防御:防火墙概述
    目录一、信息安全1.1恶意程序一般会具备一下多个或全部特点1.2信息安全五要素:二、了解防火墙2.1防火墙的核心任务2.2防火墙的分类2.3防火墙的发展历程2.3.1包过滤防火墙2.3.2应用代理防火墙2.3.3状态检测防火墙补充防御设备三、防火墙的其他功能四、防火......
  • Debug Log - Linux下出现 cmake: command not found
    Bug情况:在用脚本安装一些环境时,出现了cmake:commandnotfound的情况,故需要安装cmake。踩坑:网上有人说通过yum来安装cmake,但我先通过apt安装yum(sudoaptinstallyum),再通过yum安装cmake(sudoyuminstallcmake),发现yum找不到对应匹配的包。解决过程:使用cmake--version......
  • Linux 下 C 语言编程概述
    来自......
  • 操作系统真象还原:文件系统概述
    14.1文件系统概念简介这是一个网站有所有小节的代码实现,同时也包含了Bochs等文件14.1.1inode、间接块索引表、文件控制块FCB简介硬盘是低速设备,其读写单位是扇区,为了避免频繁访问硬盘,操作系统不会有了一扇区数据就去读写一次磁盘,往往等数据积攒到“足够大小”时才一次......
  • QT6 CMake项目配置 (VSCode)
    QT6CMake项目配置(VSCode)这篇文章我们介绍一下在VSCode下的配置,大体上和VisualStudio上差不多,建议先把之前介绍在VS上的配置过程看一遍,VSCode安装这个就不用说了吧,无脑下一步插件安装先把CMake相关的插件装一下第一个是CMake语言的支持插件,装了这个写CMakeLists.txt就......
  • 【人工智能】Transformers之Pipeline(概述):30w+大模型极简应用
    ​​​​​​​目录一、引言 二、pipeline库2.1概述2.2使用task实例化pipeline对象2.2.1基于task实例化“自动语音识别”2.2.2task列表2.2.3 task默认模型2.3 使用model实例化pipeline对象2.3.1基于model实例化“自动语音识别” 2.3.2查看model与task的......
  • 嵌入式C语言概述
    什么是嵌入式系统?嵌入式系统是指一个集成了软件和硬件的专用计算机系统,通常用于执行特定的任务。与通用计算机系统不同,嵌入式系统具有以下特点:专用性:嵌入式系统通常执行单一或特定的任务。资源有限:嵌入式系统的硬件资源(如处理器速度、内存容量)通常有限。实时性:许多嵌入式系统......
  • 概述
    设计模式概述设计模式是解决特定问题的一系列套路,其本质是面向对象原则的实际运用。分类(1)创建者模式用于描述怎样“创建对象”,它的主要作用在于“将对象的创建与使用”分离。有单例、原型、工厂方法、抽象工厂、建造者共5种设计模式。使用这种设计模式的好处,我猜测是:如果对......
  • CMakeLists.txt编写思路
      近期在linux编写CMakeLists.txt文件,整理了一些思路。一、编写CMakeLists.txt的基本步骤和思路:初始化CMake:使用cmake_minimum_required指令指定CMake的最小版本要求,以确保兼容性。使用project指令定义项目名称和可选的语言。设置变量:使用set指令设置项目相关的变量,......