swd*_*don 4 makefile cmake ninja
我是 CMake 的新手,正在尝试了解如何配置 CMake 以使用 Ninja 作为构建工具。我遇到的具体问题是我正在尝试使用他们的 install.py 安装 Vim 的 YouCompleteMe 插件。我收到以下错误:
Searching Python 3.8 libraries...
Found Python library: /usr/lib64/libpython3.8.so
Found Python headers folder: /usr/include/python3.8
CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
See also "/tmp/ycm_build__dy3xdvd/CMakeFiles/CMakeOutput.log".
ERROR: the build failed.
Run Code Online (Sandbox Code Playgroud)
在互联网上查找类似错误后,我意识到可以通过安装 Make 来解决此问题。但是,我想知道我是否可以实际使用 Ninja 而不是我已经安装并位于路径中的 Make。有没有一种方法可以设置CMAKE_MAKE_PROGRAM我的 Ninja 安装,以便我可以克服此错误,或者我是否必须使用 Make,因为CMAKE_MAKE_PROGRAM只能从项目内设置?
编辑:
当我说设置时CMAKE_MAKE_PROGRAM,我的意思是在机器级别设置,就像环境变量一样。不是通过修改我正在尝试构建的实际项目中的构建定义文件。
您应该将环境变量设置CMAKE_GENERATOR为Ninja. CMake 将读取此变量来选择生成器,而不是选择您所看到的默认“Unix Makefiles”。当您不cmake直接调用并且无法通过-G命令行选项来设置生成器时,这非常有用。
该CMAKE_GENERATOR变量最终将为CMAKE_MAKE_PROGRAM您设置变量,因此您不必手动修改它。
| 归档时间: |
|
| 查看次数: |
25083 次 |
| 最近记录: |