CMake 构建 C++ 项目
使用 CMake 构建C++项目便于跨平台开发,在Linux上可以生成 makefile ,并通过 make来进行编译。在Windows上可以生成 .sln
项目,并结合VS继续进行开发,或 MSVC 编译器来直接将项目编译成目标文件。
1、 创建 .cpp
文件,以编译成exe程序
#include <iostream>
int main()
{
printf("hello word");
std::cin.get();
return 0;
}
2、创建 CMakeLists.txt
文件
cmake_minimum_required(VERSION 3.18)
# 设置项目的名称
project(testDemo)
# 设置将mian.cpp文件编译成 testDemo 程序
add_executable(${PROJECT_NAME} main.cpp)
3、构建并编译对应的项目
在Windows平台上,一般结合VS编译器来将该项目编译成对应的可执行文件,有两种做法:(1)将项目构建生成VS的sln
项目,然后通过VS来打开该项目进行编译。(2)不用VS来打开对应的项目,cmake 直接通过调用 msbuild 来进行编译该项目。
1)、cmake
构建.sln
项目
# 首先进入到 .cpp 和CMakeLists.txt文件所在目录
mkdir build # 创建build目录用于存放CMake 所生成的文件
cd build
cmake .. # 将在build目录下生成对应的sln项目
目录结构,及以上命令会生成的VS项目如下图所示

【注意】cmake ..
生成VS解决方案,是根据本机安装的VS默认版本。如果本机安装有多个VS,此时想要生成某个指定VS版本的解决方案,就需要在生成解决方案时指定VS的版本,如生成 VS2019对应的解决方案:cmake .. -G "Visual Studio 16 2019"
,如下图将以指定的版本进行生成

2)、通过VS来打开 .sln
编译成可执行文件
3)、如果不需要VS来打开项目编译,可以直接使用如下命令:cmake --build .
,将会生成对应的可执行程序,如下图:
cmake
生成的 ALL_BUILD、ZERO_CHECK
ALL_BUILD
:只要编译这个工程,所有的工程均会编译;
ZERO_CHECK
: 监视CMakeLists.txt文件的变化,一旦发生变化,它会告诉编译器重新构建整个工程环境;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!