CMakeLists.txt:30行出现错误:没有找到CMAKE_C_COMPILER。

181

你可以使用Visual Studio和它的编译器或者Makefiles和gcc来配置项目。你尝试过哪种方法? - Tsyvarev
你输入的cmake命令是什么? - bames53
3
我想为@Caio Fontes添加相应的命令行:cmake .. -G "Visual Studio 14 2015"cmake .. -G "MSYS Makefiles"(如果gcc表示MinGW)。并且我看到了很多这样的问题(如这里这里这里),我认为我们在SO上缺少一个结合/教程答案。 - Florian
我刚在 Visual Studio 12 2013 Win64 上尝试了一下,完全没有任何问题(虽然我每天都使用 CMake,所以我知道我的 Vs2013 能够与 CMake-3.3.1 协同工作)。你在切换编译器时是否删除了构建文件夹? - drescherjm
显示剩余2条评论
23个回答

2

如果有人和我一样遇到类似的问题,希望这篇文章能够帮到你:

我在三台不同的64位机器上(Win7、Windows 8.1虚拟机和Win 8.1笔记本电脑)尝试使用VS 2017构建WebKit时,遇到了这个问题长达24小时。

问题很简单,就是VC++编译器(即cl.exe及其依赖的DLL文件)对CMake不可见。只需将包含这些二进制文件的VC++文件夹对CMake和您的工作命令提示符(如果您正在从命令提示符运行CMake)可见,问题就解决了!(除了其他人提出的关键点之外)

无论如何,在尝试了各种修复方法之后 - 如在许多论坛上发布的那样 - 我发现问题其实非常简单,只需要确保PATH变量的内容没有被多个Visual Studio BIN路径等所混淆,并且指向:

a)编译器的位置(即您首选版本的Visual Studio的 cl.exe ),在我的情况下(针对64位平台,开发64位主机)是:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\Hostx64\x64

b) 此外,包含一个被依赖的 DLL 文件夹(cl.exe 依赖它):api-ms-win-crt-runtime-l1-1-0.dll - 在我的机器上是在:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Remote Debugger\x64

将这两个目录添加到简化和自定义系统路径变量中(在管理员权限的命令提示符下工作),消除了我的“找不到 CMAKE_C_COMPILER”和“找不到 CMAKE_CXX_COMPILER”错误。
希望能对某些人有所帮助。

2

在安装Visual Studio时,请确保已安装Windows SDK。要添加Windows SDK,您可以转到Visual Studio Installer并点击“修改”,然后选中Windows SDK的复选框并安装它。


2
谢谢,我花了好几个小时尝试其他所有方法。 - JayCrossler
1
非常欢迎!我也不得不尝试很多东西才最终得出这个解决方案。其他解决方案过于复杂,实际上并不是问题的所在。 - Grejo Joby

1
如果启用ccache,在使用CMake的Xcode生成器时,我会得到与报告的错误完全相同的错误。禁用ccache为我解决了问题。下面我提供了适用于MacOS的修复/检查,但在其他平台上应该类似工作。
显然,也可以将CMake的Xcode生成器(和其他生成器)与ccache结合使用,如此处所述。但我从未尝试过。
# 1) To check if ccache is enabled:
echo $CC
echo $CXX
# This prints something like the following: 
#     ccache clang -Qunused-arguments -fcolor-diagnostics. 
# CC or CXX are typically set in the `.bashrc` or `.zshrc` file.

# 2) To disable ccache, use the following:
CC=clang
CXX=clang++

# 3) Then regenerate the cmake project
cmake -G Xcode <path/to/CMakeLists.txt>

1
我成功解决了同样的问题,方法是确保“xcode-select -p”的输出指向我的Xcode安装位置。在我的情况下,安装Xcode并运行“xcode-select -r”就足够了。 - TomTasche

1

我知道这个问题是关于Visual Studio 2015的。我在使用Visual Studio 2017时遇到了这个问题。在谷歌上搜索后,我找到了这个页面。看了前两三个答案后,我意识到这是vc++安装的问题。安装"使用c++进行桌面开发"的工作负载解决了这个问题。

Desktop development with c++


1
您还可以确保您是sudo用户,并且您对正在使用的目录具有读/写访问权限。我在OS X上遇到了类似的问题,只需进入sudo模式即可解决它。

1

这里提供的解决方案都没有解决我的问题 - 只有当我安装了通用C运行时的Windows更新后才行。

现在,CMake可以正常工作,Visual Studio也不再出现链接挂起的情况。

Windows通用C运行时更新


0

我也遇到了同样的问题。

我正在尝试在我的电脑上安装dlib,但是出现了这个错误。问题中提到的教程会导致下载visual studio 2017。我通过卸载VS 2017并安装VS 2015来解决了这个问题。

可以通过此stackoverflow主题安装VS 2015: 如何下载Visual Studio Community Edition 2015(而不是2017)


0

对我来说,使用 Visual Studio 自带的开发人员命令提示符,然后只需 cdyour/jcef/dir 并运行 cmake -G "Visual Studio 14 Win64" .. 就可以了。


0

我将Visual Studio 2015更新2升级到Visual Studio 2015更新3,问题得到了解决。


这个解决方案是在我的工作场所被要求的,因为他们推送了一个Windows操作系统更新。我已经使用了至少这个页面上的两个解决方案来修复错误。错误可能会在任何条件下出现,所以这就是为什么有几个不同但可行的答案的原因。 - Natalie Cottrill

0

我在使用cmake-gui时遇到了相同的问题(找不到CMAKE_CXX_COMPILER),但是从命令行运行CMake就没有任何问题。在将以下条目手动添加到PATH环境变量后,问题解决了:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin

希望对你有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接