之后
cd build
cmake -B . -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake -S ..
看起来像是
cmake --build .
并且
make
在 macOS 上也要做同样的事情。
那么,我应该在什么时候使用其中之一呢?
对于简单的使用,除了 cmake --build
更加通用可适用于任何生成器外,并没有太大的区别。因此今天可以使用 make
,明天可以用 ninja
或 msbuild
,而 CMake 可以通过简单的 cmake --build
来处理它,你可以将其放在脚本或自述文件中。
但是自从有了 预设 这两种方法开始真正分道扬镳。你可以在预设的构建部分中添加一些内容,然后通过 cmake --build --preset MyPreset
调用,而无法使用简单的 make
实现相同的功能。
因此,如果你将 CMake 作为项目工具使用,我建议你开始使用其构建界面,因为这是未来使用的预期方式(至少看起来是这样)。
make
不是 Windows 中的一个可识别命令。在这种情况下,cmake --build .
是你的好朋友。
cmake build .
有时也可以工作,但我不知道这些现象的更深层解释。
cmake -B ...在此处输入
类型 - 构建类型 例如:用于VS Studio的.sln项目
make - 构建您的项目
cmake - 允许您为项目创建不同的构建类型。
make
将失败。 - 273Kcmake --build bldloc
。当你将项目移植到另一个平台并使用其他生成器时,你会感激自己这样做了。顺便说一下,我也使用Mac,而且cmake + vscode + lldb、cmake和c++扩展程序非常好用。强烈推荐。 - WhozCraig