如何在CMake GUI中添加多线程编译等编译参数?
在CMake GUI中实现多线程编译(对应命令
cmake --build . -j 6) CMake GUI本身不直接管理-j参数——这个参数是传给底层构建工具(Make、Ninja、MSBuild等)的,下面两种方法可以实现需求:
方法1:永久设置并行编译(生成构建文件时配置)
- 打开CMake GUI,加载你的源码目录和构建目录
- 点击Configure完成初始配置
- 在变量搜索框里找对应参数:
- 若用Makefiles:要么把
CMAKE_MAKE_PROGRAM的值改成make -j6,要么新增变量CMAKE_BUILD_PARALLEL_LEVEL并设为6(CMake 3.12及以上版本支持,推荐) - 若用Ninja:新增
CMAKE_BUILD_PARALLEL_LEVEL变量设为6即可(Ninja会自动识别并行参数) - 若用MSBuild(Visual Studio):新增
CMAKE_MSBUILD_FLAGS变量,值设为/maxcpucount:6
- 若用Makefiles:要么把
- 再次点击Configure确认变量生效,再点Generate生成构建文件
- 之后点击Build或Open Project,都会自动用6线程编译
方法2:单次临时设置并行参数(仅本次构建生效)
- 完成Configure和Generate步骤后,找到CMake GUI工具栏的Build按钮,点击旁边的下拉箭头(部分版本是右键Build按钮)选择Build with Arguments
- 根据你的构建工具输入参数:
- Makefiles/Ninja:输入
-j6 - MSBuild:输入
/maxcpucount:6
- Makefiles/Ninja:输入
- 确认后就会启动6线程编译
小提示
CMAKE_BUILD_PARALLEL_LEVEL是CMake 3.12引入的全局变量,设置后无需针对不同构建工具单独配置,会自动适配传递对应的并行参数,是最省心的方式。
内容的提问来源于stack exchange,提问作者Zebrafish
相关产品推荐
相关产品推荐

