解决CMake忽略PATH问题:命令行与Presets指定生成器路径
解决CMake仅在/usr/bin查找生成器的问题
命令行直接指定生成器路径
直接通过-DCMAKE_MAKE_PROGRAM参数传入生成器的绝对路径,配合-G指定生成器类型即可:
cmake -G Ninja -DCMAKE_MAKE_PROGRAM=/absolute/path/to/your/ninja ..
如果使用其他生成器(如Unix Makefiles),替换路径为对应工具的绝对路径即可。
通过presets.json配置路径
在项目根目录的presets.json中,给对应的配置预设添加CMAKE_MAKE_PROGRAM缓存变量,指定生成器的绝对路径:
{ "version": 3, "configurePresets": [ { "name": "custom-ninja", "generator": "Ninja", "cacheVariables": { "CMAKE_MAKE_PROGRAM": "/absolute/path/to/your/ninja" } } ] }
使用时直接调用该预设:
cmake --preset custom-ninja
注意:所有路径必须使用绝对路径,避免因工作目录变化导致的路径失效问题。
内容的提问来源于stack exchange,提问作者user2771324
相关产品推荐
相关产品推荐

