25

我正在尝试使用 CMake 为 MSVC++2010 构建解决方案。由于我安装了不再工作的 Visual Studio 2012。CMake 带有以下错误消息:“C 编译器“C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe”无法编译简单的测试程序。”

在为我的问题搜索解决方案时,我发现了这个主题(Cmake is Unable to Configure Project for Visual Studios 10 amd64)虽然解决了我的问题,但该解决方案对我不起作用。

任何帮助将非常感激。

4

6 回答 6

13

我在Win7上遇到了同样的问题。
对我有用的是@Andre 在评论中建议的:

  1. 右键单击-> cl.exeVS 安装目录中的属性(确切路径出现在 CMake 错误中);
  2. 选择兼容性选项卡;
  3. 在“权限级别”框中选中“以管理员身份运行此程序”。
于 2013-03-20T12:10:25.637 回答
12

我有同样的问题。上述解决方案对我不起作用。看了这篇文章后,我的问题得到了解决。

首先,检查您的系统上是否有 .NET 4.5。如果你这样做,那很可能会导致问题。尝试升级到 VS2010 SP1 或将 .NET 降级到 4.0

原因:

出现此错误是因为您在系统中实际安装了 Visual C++ 2010 之后安装了 Visual C++ 2012;另一个原因是因为 .net Framework 4.5 取代了 .net Framework 4.0;.net 框架损坏的文件;

怎么解决

从系统中卸载 .NET Framework 4.5;然后下载 .NET Framework 4.0 并安装它;这应该可以解决您的问题;

于 2014-06-03T20:06:45.563 回答
7

我遇到了这个问题,我通过这种方式解决了。您应该在控制台中运行 cmake,命令如下

>vcvars32  (to set some system vars, C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvar32.bat)

>cmake .. -G"NMake Makefiles" (.. is your code folder) 

>nmake  (It will work well!)

您应该在一个控制台中执行此操作,不要打开另一个控制台。

于 2016-04-14T15:46:53.970 回答
2

我遇到了同样的问题。我通过在 cmake 之前添加一个命令来解决

call "C:/Program Files (x86)/VC/vcvarsall.bat" amd64

vcvarsall.bat 的路径和架构可能在您的计算机上有所不同。

根据vcvarsall.bat 的用法,该命令是为命令行编译设置适当的环境变量。

于 2018-04-11T09:57:03.643 回答
0

我遇到了类似的问题,

就我而言,以管理员身份运行 Visual Studio 2017 并应用@Adi Shavit 的答案是有效的。

于 2019-10-03T21:22:06.600 回答
0

对于 Visual Studio 2017 并使用 cmake,我收到以下错误消息

-- Selecting Windows SDK version 10.0.17134.0 to target Windows 10.0.18363.
-- The C compiler identification is MSVC 19.14.26433.0
-- The CXX compiler identification is MSVC 19.14.26433.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x64/cl.exe - broken
CMake Error at C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeTestCCompiler.cmake:66 (message):
  The C compiler

    "C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x64/cl.exe"

  is not able to compile a simple test program.

我通过运行 vcvars140.bat 脚本设置构建环境解决了这个问题(如下所示)。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\vsdevcmd\ext\vcvars> .\vcvars140.bat 
于 2021-02-23T12:42:30.093 回答