问题
I am on Windwos trying to get Mingw-w64 to work with CMake since my MSVC is somehow not working at all (using Windows10 64bit.
Basically I add the arguments -DCMAKE_CXX_COMPILER="C:/MinGW-w64/mingw64/bin/g++.exe" -DCMAKE_C_COMPILER="C:/MinGW-w64/mingw64/bin/gcc.exe"
to my call to CMake which sets the corresponding compiler.
However I get these errors:
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Check for working C compiler: C:/MinGW-w64/mingw64/bin/gcc.exe
-- Check for working C compiler: C:/MinGW-w64/mingw64/bin/gcc.exe -- broken
CMake Error at C:/Program Files/CMake/share/cmake-3.12/Modules/CMakeTestCCompiler.cmake:52 (message):
The C compiler
"C:/MinGW-w64/mingw64/bin/gcc.exe"
is not able to compile a simple test program.
How could I get this to work?
回答1:
The simplest way to generate makefiles for MinGW (and MinGW-w64) is to use the appropriate CMake generator. Just call cmake with
-G "MinGW Makefiles"
no need to set DCMAKE_CXX_COMPILER and DCMAKE_C_COMPILER by hand.
For this to work, CMake must find your compilers. So this path must be added to the windows PATH variable, as CristiFati pointed out:
C:/MinGW-w64/mingw64/bin
To check if the PATH is correct, fire up a Windows command prompt and run
where gcc
The output should be (at least) the path you just added to the Windows PATH variable.
来源:https://stackoverflow.com/questions/51509173/how-can-i-make-cmake-use-mingw-w64-gcc-g