cmake错误未使用Xcode和GLFW找到CMAKE_C_COMPILER

CMake error no CMAKE_C_COMPILER could be found using Xcode and GLFW

本文关键字:CMAKE COMPILER 找到 GLFW 错误 未使用 Xcode cmake      更新时间:2023-10-16

我正在尝试遵循本教程以开始使用OpenGl:http://www.learnopengl.com/# !! getting-started/creating-creating-a-window,它需要下载GLFW和CMAKE。我已经将下载的GLFW文件夹设置为源代码文件夹,并且在该文件夹中创建了另一个名为" build"的文件夹。然后,正如教程所要求的那样,我将其设置为二进制文件的构建。我单击"配置"而且我选择Xcode作为生成器,因为我在Mac上。问题是,当我尝试配置项目时,CMAKE会给我这个错误:

The C compiler identification is unknown
CMake Error at CMakeLists.txt:3 (project):
  No CMAKE_C_COMPILER could be found.
Configuring incomplete, errors occurred!
See also "/Users/standard/Desktop/glfw-3.2.1/build/CMakeFiles/CMakeOutput.log".
See also "/Users/standard/Desktop/glfw-3.2.1/build/CMakeFiles/CMakeError.log".

我已经阅读了这个问题,但是据我所知,它没有我需要的东西:cmakelists.txt上的cmake错误:30(项目):找不到CMAKE_C_COMPILER

如果已安装了XcodeCommand Line Tools for Xcode,请尝试以下操作:

sudo xcode-select --reset

安装自制啤酒后,我在我身上使用xcode10/cmake 3.12发生这种情况。运行sudo xcode-select --reset为我修复了它。

您是否安装了Xcode和Xcode Commandline工具?

xcode-select --install

如果已安装了Xcode命令行工具,则不应再接收xcrun缺少错误。

您是如何安装Cmake的?确保安装Xcode Commandline工具后,请完全从系统中删除CMAKE并重新安装它。您有一个搞砸的配置。有一些方法可以在没有干净安装的情况下进行调试和修复,但是由于您是新手,这将是最简单,最令人沮丧的方式。

失败的是,如果您确实安装了Xcode命令行工具,则HSTDT建议尝试以下操作:

sudo xcode-select --reset

此错误意味着CMAKE找不到您的标准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" ...

如果您在Mac计算机上并且有自制型,则可以简单地升级CMAKE,强迫编译器重新配置:

brew upgrade cmake

在新鲜的Xcode上安装命令行工具,抱怨同意构建工具不喜欢的EULA。您可以做:

sudo xcodebuild -license

对于如今从Google提出这个问题的任何人,我的问题是通过

解决的
xcodebuild -runFirstLaunch

我通过检查CMakeFiles/CMakeError.log

找到了这一点

在我的情况下,我需要从cmake官方网站安装cmake,下载.dmg,安装它,然后添加cmake文件夹。

安装之前,which cmake的输出为/usr/local/bin/cmake
安装后,应该是/Applications/CMake.app/Contents/bin/cmake

这已经解决了我的问题。

如果在我的计算机上启用了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的XCODE GENERATOR与CCACHE结合使用。但是我从来没有自己尝试过。

当我为CMAKE_OSX_SYSROOT设置一个无效的值时,我遇到了此错误。我试图将其称为SDK的名称,例如&quot" macos 10.13"。将其设置为SDK的完整路径可以解决问题。

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk

编译器检测似乎与Xcode 10及以上版本的Cmake打破了。我知道,Cmake 2.2并升级到最新的(2.13)为我解决了它。它与Xcode 9合作正常,并且与升级分解。我尝试了其他解决方案(所有这些都取决于您的情况),但是升级CMAKE解决了问题。

如果您在CLION上并且面对此问题,请尝试将工具链设置内部的C和C 编译器位置更改为最新的。默认的GCC安装目录是/usr/local/Cellar/gcc/...

我升级xcode xcode后,我遇到了此错误,然后升级了我的cmake版本,问题已解决。