Reputation: 1191
I have seen tons of posts on this particular issue and I have tried about every one that I could find. I am completely lost and stuck on this issue now and I don't really know where to turn.
I get the following error when I run my cmake file:
The C compiler identification is unknown
The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:9 (project):
No CMAKE_C_COMPILER could be found.
CMake Error at CMakeLists.txt:9 (project):
No CMAKE_CXX_COMPILER could be found.
Which is super confusing to me, since I have built a cmake project, using the same compiler with Cmake before with no errors. I even copied the elements from their cmake file into mine to see if it would make a difference but I always end up with the same error. I have even sent the test project I made to another coworker and their cmake compiled my program just fine and created a visual studio project solution with no issues.
Which makes me believe that there is something going on my end that is causing it to fail to find my compilers. Steps that I have taken:
I have added the Windows kits to my path
I have added the vcvashall.bat and cl.exe to my path
I have downloaded and installed individual plugins with Visual Studio such as:
I have tried the GUI, the Command Prompt, and Visual Studio Developer Command Prompt. All of which do not work. I have typed:
cmake --help
and it automatically detects Visual Studio 15 2017
as the default compiler. I have tried cmake -G "Visual Studio 15 2017 Win64"
and that also does not work.
I have since all of this, uninstalled Cmake and reinstalled it and the same issue still persists. What I haven't tried is uninstalling Visual Studio 2017 and reinstalling it again. It is also important to note, I do not have any other visual studio installations on my machine. This is the only one that I have. I do have MinGW, and I have used that successfully. However I am trying to build a Visual Studio solution.
As I have said, I am very stuck on this issue and I really do not understand why one cmake script detects and builds:
The C compiler identification is MSVC 19.16.27031.1
The CXX compiler identification is MSVC 19.16.27031.1
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Detecting C compile features
Detecting C compile features - done
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Detecting CXX compile features
Detecting CXX compile features - done
And then mine fails to find my compiler and aborts above. I can link the test project for those who want to try and compile my program. I know links are looked down on, so if it is requested I will make it available to download.
Upvotes: 0
Views: 3091
Reputation: 16111
I am not an expert in cmake, and struggled through this error for weeks. I finally solved it by uninstalling cmake and installing a different version of cmake. I have no idea why that worked but it did.
Upvotes: 1