CMake配置失败。 “cl.exe无法编译简单的测试程序”

时间:2013-01-29 19:45:32

标签: visual-studio-2010 cmake

我正在尝试使用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)虽然解决了我的问题,但解决方案对我不起作用。

非常感谢任何帮助。

6 个答案:

答案 0 :(得分:13)

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

  1. 右键单击 - > VS安装目录中cl.exe上的属性(确切路径出现在CMake错误中);
  2. 选择兼容性选项卡;
  3. 在“权限级别”框中选中“以管理员身份运行此程序”。

答案 1 :(得分:12)

我遇到了同样的问题。以上解决方案对我来说没有用。调查this post后我的问题得到了解决。

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

<强>的原因:

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

如何解决

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

答案 2 :(得分:5)

我遇到了这个问题,我这样解决了。你应该在控制台中运行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!)

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

答案 3 :(得分:0)

我遇到了同样的问题。我通过在cmake

之前添加一个命令来解决

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

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

根据Usage of vcvarsall.bat,此命令用于为命令行编译设置适当的环境变量。

答案 4 :(得分:0)

我遇到了类似的问题,

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

答案 5 :(得分: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