无法让CMAKE编译项目

2022-03-12 00:00:00 gcc g++ mingw cmake c++

以下是我收到的错误:

-- Building for: NMake Makefiles
-- The C compiler identification is GNU 4.8.1
-- The CXX compiler identification is GNU 4.8.1
-- Check for working C compiler: C:/MinGW/bin/gcc.exe
CMake Error: Generator: execution of make failed. Make command was: "nmake" "/NOLOGO" "cmTC_86068fast"
-- Check for working C compiler: C:/MinGW/bin/gcc.exe -- broken
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.4/Modules/CMakeTestCCompiler.cmake:61 (message):
The C compiler "C:/MinGW/bin/gcc.exe" is not able to compile a simple test program.

It fails with the following output:

Change Dir: C:/--REDACTED--/CMakeFiles/CMakeTmp



Run Build Command:"nmake" "/NOLOGO" "cmTC_86068fast"

The system cannot find the file specified

Generator: execution of make failed.  Make command was: "nmake" "/NOLOGO" "cmTC_86068fast"





CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:2 (PROJECT)


-- Configuring incomplete, errors occurred!
See also "C:/--REDACTED--/socket.io-client-cpp-1.6.1/CMakeFiles/CMakeOutput.log".
See also "C:/--REDACTED--/socket.io-client-cpp-1.6.1/CMakeFiles/CMakeError.log".

对于我使用的记录:

  • MinGW4.8.1的GCC和g++
  • CMake 3.4.1
我不知道问题可能是什么,我在网上广泛查找,没有找到任何人已经获得解决方案的地方,除非它与路径问题有关,其中路径包含非拉丁字符或没有写访问权限,而任何目录都不是这种情况。我真的快要完全放弃让它工作了,但是我不知道该怎么办,因为这个项目绝对需要C++的Socket.IO客户端。


解决方案

cmake是一个为不同生成系统生成"生成文件"的实用程序。在这里,您生成了一个nmake makefile,并且您的路径中似乎没有nmake。

您可以使用选项-G "MinGW Makefiles"启动CMake,以便生成与mingw make兼容的Makefile。然后发出命令:

mingw32-make

相关文章