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

Jul*_*les 12 c++ xcode cmake

我正在尝试按照本教程开始使用OpenGL:http://www.learnopengl.com/#! Getet-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".

我已经读过这个问题,但据我所知,它没有我需要的东西: CMakeLists.txt的CMake错误:30(项目):找不到CMAKE_C_COMPILER

谢谢.

hst*_*tdt 48

如果您已安装Xcode,请尝试以下操作:

sudo xcode-select --reset
Run Code Online (Sandbox Code Playgroud)

  • 你能解释这个答案吗? (3认同)
  • @Sam1370 Xcode 命令行工具通过安装命令行开发人员工具以及 macOS SDK 框架和标头,通过终端实现 UNIX 风格的开发。其中包括许多有用的工具,例如 Apple LLVM 编译器、链接器和 Make。 (2认同)

Syn*_*ose 19

此错误意味着 CMake 找不到您的标准 C/C++ 编译器,看起来您需要自己导出环境变量。您可以使用以下命令找到 C/C++ 编译器的路径:

xcrun -find c++
xcrun -find cc
Run Code Online (Sandbox Code Playgroud)

然后当你有路径时,在 gui 中创建两个变量。如果你从 cline 运行它,它会是这样的

cmake -D CMAKE_C_COMPILER="/path/to/your/c/compiler/executable" -D CMAKE_CXX_COMPILER="/path/to/your/cpp/compiler/executable" ...
Run Code Online (Sandbox Code Playgroud)


Cin*_*its 16

你安装了Xcode和Xcode Commandline Tools吗?

xcode-select --install
Run Code Online (Sandbox Code Playgroud)

如果您安装了Xcode Commandline Tools,则不应再收到xcrun丢失的错误.

你是怎么安装Cmake的?一旦确保安装了Xcode Commandline Tools,请从系统中完全删除Cmake并重新安装.你有一个搞砸的配置.有一些方法可以在没有干净安装的情况下调试和修复它,但由于您不熟悉它,因此它将是最简单且最令人沮丧的方式.

如果您确实安装了Xcode Commandline Tools,那么hstdt建议尝试这样做:

sudo xcode-select --reset
Run Code Online (Sandbox Code Playgroud)


op4*_*414 13

在安装Homebrew之后,我遇到了Xcode10/Cmake 3.12.跑步sudo xcode-select --reset为我修好了.


小智 9

在一个新的Xcode安装上,命令行工具抱怨同意构建工具不喜欢的EULA.你可以做什么:

sudo xcodebuild -license
Run Code Online (Sandbox Code Playgroud)

  • 我安装了 xcode 但从未接受过许可证。`sudo xcodebuild -license accept` 对我有用 (2认同)

oar*_*ish 9

对于现在从谷歌提出这个问题的人来说,我的问题已通过解决

xcodebuild -runFirstLaunch
Run Code Online (Sandbox Code Playgroud)

我通过检查发现了这一点CMakeFiles/CMakeError.log


Kim*_*m T 7

如果你在 Mac 电脑上并且有 Homebrew,你可以简单地升级 cmake,强制重新配置编译器:

brew upgrade cmake
Run Code Online (Sandbox Code Playgroud)