我正在尝试按照本教程开始使用OpenGL:http://www.learnopengl.com/#!Getting-started/Creating-a-window并且需要下载glfw和CMake。 我已经将下载的glfw文件夹设置为源代码文件夹,并且我在该文件夹中创建了另一个名为“build”的文件夹,然后我将其设置为二进制文件的构建文件夹,正如教程所要求的那样。 我单击“配置”,然后选择XCode作为生成器,因为我在Mac上。 问题是,当我尝试配置项目时,CMake给了我这个错误:
C编译器标识未知 CMakeLists.txt的CMake错误:3(项目): 找不到CMAKE_C_COMPILER。
配置不完整,发生错误! 也可以看看 “/Users/standard/Desktop/glfw-3.2.1/build/CMakeFiles/CMakeOutput.log”。
另见 “/Users/standard/Desktop/glfw-3.2.1/build/CMakeFiles/CMakeError.log”。
我已经读过这个问题,但据我所知,它没有我需要的东西: CMake Error at CMakeLists.txt:30 (project): No CMAKE_C_COMPILER could be found
谢谢。
答案 0 :(得分:41)
如果您已安装Xcode,请尝试以下操作:
sudo xcode-select --reset
答案 1 :(得分:12)
您安装了Xcode和Xcode Commandline Tools吗?
xcode-select --install
如果您安装了Xcode Commandline Tools,则不应再收到xcrun
遗漏错误。
你是如何安装Cmake的?一旦确保安装了Xcode Commandline Tools,请从系统中完全删除Cmake并重新安装。你有一个搞砸的配置。有一些方法可以在没有干净安装的情况下调试和修复它,但由于你是新手,它将是最容易和最令人沮丧的方式。
如果你确实安装了Xcode Commandline Tools,那么hstdt建议尝试这样做:
sudo xcode-select --reset
答案 2 :(得分:11)
在安装Homebrew之后,使用Xcode10 / Cmake 3.12发生了这件事。运行sudo xcode-select --reset
为我修复了该问题。
答案 3 :(得分:6)
在新的Xcode安装上,命令行工具抱怨同意EULA构建工具不喜欢。您可以使用以下方法:
package-lock.json
答案 4 :(得分:3)
此错误意味着CMake无法找到您的标准C / C ++编译器,看起来您需要自己导出环境变量。您可以使用以下命令找到C / C ++编译器的路径:
xcrun -find c++
xcrun -find cc
然后当你有路径时,在gui中创建两个变量。如果你从cline运行它,它将类似于
cmake -D CMAKE_C_COMPILER="/path/to/your/c/compiler/executable" -D CMAKE_CXX_COMPILER "/path/to/your/cpp/compiler/executable" .....
答案 5 :(得分:2)
对于我来说,我需要从CMake official site安装CMake,下载.dmg,安装它,然后将CMake文件夹添加到系统的PATH。
在安装之前,Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
的输出为which cmake
。
安装后,它应该类似于/usr/local/bin/cmake
。
这为我解决了这个问题。
答案 6 :(得分:2)
如果您使用的是Mac电脑,并且拥有Homebrew,则只需升级cmake,即可强制重新配置编译器:
brew upgrade cmake
答案 7 :(得分:0)
Xcode 10和较旧版本的CMake似乎破坏了编译器检测。我知道CMake 2.2对我来说很麻烦,升级到最新版本(2.13)可以为我解决。 Xcode 9正常运行,并且升级失败。我尝试了其他解决方案(根据您的情况,一切都很好),但是升级CMake解决了该问题。
答案 8 :(得分:0)
如果在我的机器上启用了ccache,我将得到这个错误。禁用ccache对我来说解决了这个问题。
要检查是否启用了ccache,请打印系统变量CC或CXX:
echo $CC
echo $CXX
这将打印以下内容:ccache clang -Qunused-arguments -fcolor-diagnostics
。 (CC或CXX通常由.bashrc
或.zshrc
文件覆盖。)
要禁用ccache,请使用以下命令:
CC=clang
CXX=clang++
然后重建cmake项目:
cmake -G Xcode <path/to/CMakeLists.txt>
很显然,也可以结合使用cmake的CMake Xcode生成器,如here所述。但是我从来没有亲自尝试过。
答案 9 :(得分:0)
如果您使用 CLion 并遇到此问题,请尝试将 Toolchains 设置中的 C 和 C++ 编译器位置更改为最新位置。默认的 GCC 安装目录是 /usr/local/Cellar/gcc/...