CMake错误没有使用Xcode和GLFW找到CMAKE_C_COMPILER

时间:2016-12-29 13:38:48

标签: c++ xcode cmake

我正在尝试按照本教程开始使用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

谢谢。

10 个答案:

答案 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/...