cmake --build . --config Release和make是1个意思吗
两者的作用相似,但适用于不同的 CMake 生成器。
1. make
- 适用于 Unix Makefiles 生成器(默认的 CMake 生成器之一)。
- 在运行
cmake ..
之后,CMake 会在build
目录下生成Makefile
,然后你可以使用make
进行编译:make -j$(nproc) # 并行编译,加快速度
2. cmake --build . --config Release
- 通用命令,适用于所有 CMake 生成器,不仅限于
Makefiles
,例如:- Ninja (
ninja
) - Visual Studio (
MSBuild.exe
) - Xcode (
xcodebuild
)
- Ninja (
--config Release
主要用于 多配置生成器(如 Visual Studio 或 Xcode),但对Makefiles
无影响,可以省略:cmake --build .
什么时候用哪个?
命令 | 适用情况 | 备注 |
---|---|---|
make -j$(nproc) | 使用 Unix Makefiles 作为 CMake 生成器时 | 更快,适用于 Linux |
cmake --build . | 通用写法,适用于所有 CMake 生成器 | 跨平台 |
如果你是在 Linux 运行,直接 make -j$(nproc)
更高效。
如果你不确定 CMake 生成器,或者希望跨平台支持,使用 cmake --build .
。