Reputation: 351
I am trying to build a solution for MSVC++2010 using CMake. Since I installed Visual Studio 2012 that does not work anymore. CMake comes with the following error message: "The C compiler "C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe" is not able to compile a simple test program."
While searching a solution for my problem I found this topic (Cmake is Unable to Configure Project for Visual Studios 10 amd64) which though adresses my problem but the solution doesn't work for me.
Any help would be much appreciated.
Upvotes: 34
Views: 57575
Reputation: 43
I got the same error because the path of some files of my project was too long. Accordingly, the solution was to move the project to a different location resulting in a shorter path.
Upvotes: 0
Reputation: 14789
In order to use Microsoft Visual C++ compiler & linker on a shell, you’ve got to set some specific environmental variables, PATH
, INCLUDE
, and LIB
.
Upvotes: 0
Reputation: 627
For Visual Studio 2017 and using cmake, I was getting the below error message
-- 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.
And I resolved the issue by setting the build environment by running vcvars140.bat script (as shown below).
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\vsdevcmd\ext\vcvars> .\vcvars140.bat
Upvotes: 0
Reputation: 69
I encounter the excatly same problem. I solved by add a command before cmake
call "C:/Program Files (x86)/VC/vcvarsall.bat" amd64
The path of vcvarsall.bat and the architecture maybe different on your computer.
According to Usage of vcvarsall.bat, this command is to set up proper environment variable for command-line compilation.
Upvotes: 2
Reputation: 87
I have met this problem, and I fixed by this way. You should run cmake in a console, command like
>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!)
You should do this jod in one console, don't open another.
Upvotes: 7
Reputation: 3707
I had the same problem. The above solution didn't work out for me. My problem was solved after looking into this post.
First, check if you have .NET 4.5 on your system. If you do, that is very likely causing the problem. Try either upgrading to VS2010 SP1 or downgrade .NET to 4.0
CAUSES:
This error appears because you have installed Visual C++ 2012 after you have actually installed Visual C++ 2010 in your system; another cause is because .net Framework 4.5 replace .net Framework 4.0; .net Framework corrupted files;
HOW TO SOLVE
Uninstall .NET Framework 4.5 from your system; then download .NET Framework 4.0 and install it; this should fix your problem;
Upvotes: 11
Reputation: 17275
I had the same problem on Win7.
What worked for me is what @Andre suggested in the comment:
cl.exe
in your VS install directory (the exact path appears in the CMake error);Upvotes: 14