cmake介绍
https://cmake.org/cmake/help/v3.18/
我们写好的工程,需要编译,那么就要告诉编译器,怎么编译源码,如何组装,需要加载哪些类库,哪些头文件。
在windows下,我们使用visual studio,很多细节都被隐藏了,实际上最终核心的功能与linux类似,编译一个工程最原始的方式
-
把最小的模块编译成一个个中间文件或是类库
-
一层层的编译模块
-
最后把所有模块编译成一个二进制文件
当我们的工程量比较大的时候,这样一条条的写命令,很明显不实际,我们想到的就是把这些命令放到一个脚本中统一运行。为了这个功能,linux下提出了make,windows下是nmake,还有如果使用qt creator,也会接触到qmake。对于这么多工具,每个标准不一样,写法不一样,有时候写跨平台软件的时候需要额外设置多套编译环境,为了解决这个问题,出现了cmake,cmake写好的文件,可以在不同系统上生成对应的make文件供对应系统的make工具使用。
cmake是一个用于管理编译源码的工具。一开始,cmake是用作生成各种方言的makefile。今天,cmake可以构建主流的编译系统,就像一个忍者一样,一个工程文件,用作IDE,比如Visual Studio和Xcode。
cmake广泛用于C和C++,也可以用作构建其他语言的源码。
大家第一次接触cmake可能有着不同的目的。如果想学习如何构建从网络下载的源码,请阅读用户交互手册。这将会详细介绍如何使用cmake(1)或cmake-gui(1)来选择构建器,还有就是如何完成构建。
使用依赖手册,可以是开发者尝试使用第三方类库。
开发者第一次用cmake在工程中,cmake教程是一个不错的开始。cmake-buildsystem(7)手册的目的就是开发者可以扩展他们的知识,用作维护一个编译系统,并且更加熟悉编译目的,可以被cmake代替。cmake-packages(7)手册表明如何创建一个包,这样可以更好的被第三方以cmake为基础的编译系统使用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏