【问题标题】:CMake does not work with g++ installed with MinGWCMake 不适用于使用 MinGW 安装的 g++
【发布时间】:2018-03-22 19:42:24
【问题描述】:

我尝试让 CMake 与我的设置一起工作(Windows 7、64 位)。我已经安装了 MingGW 以获得 C 和 C++ 编译器。在 CMake 的配置中,我输入了以下内容: 对于 C 编译器:C:/MinGW/bin/mingw32-gcc.exe 对于 C++ 编译器:C:/MinGW/bin/mingw32-g++.exe

但是当尝试在使用 CMakeList 构建的项目上运行 CMake 时,我收到以下错误:

程序无法启动,因为您的计算机中缺少 libgmp-10.dll。尝试重新安装程序来解决这个问题。

这是完整的输出:

CXX 编译器标识未知 检查工作 CXX 编译器:C:/MinGW/bin/mingw32-g++.exe 检查工作的 CXX 编译器: C:/MinGW/bin/mingw32-g++.exe -- C:/Program 处的 CMake 错误 文件/CMake/share/cmake-3.9/Modules/CMakeTestCXXCompiler.cmake:44 (消息):C++ 编译器“C:/MinGW/bin/mingw32-g++.exe”不是 能够编译一个简单的测试程序。

失败,输出如下:

更改目录:D:/Libraries/deformetrica/build/CMakeFiles/CMakeTmp

运行编译命令:"C:/MinGW/bin/mingw32-make.exe" "cmTC_bbc9e/fast"

C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_bbc9e.dir\build.make CMakeFiles/cmTC_bbc9e.dir/build

mingw32-make.exe[1]:进入目录
'D:/Libraries/deformetrica/build/CMakeFiles/CMakeTmp'

构建 CXX 对象 CMakeFiles/cmTC_bbc9e.dir/testCXXCompiler.cxx.obj

C:\MinGW\bin\mingw32-g++.exe -o
CMakeFiles\cmTC_bbc9e.dir\testCXXCompiler.cxx.obj -c
D:\Libraries\deformmetrica\build\CMakeFiles\CMakeTmp\testCXXCompiler.cxx

CMakeFiles\cmTC_bbc9e.dir\build.make:64:目标配方
'CMakeFiles/cmTC_bbc9e.dir/testCXXCompiler.cxx.obj' 失败

mingw32-make.exe[1]: ***
[CMakeFiles/cmTC_bbc9e.dir/testCXXCompiler.cxx.obj] 错误1

mingw32-make.exe[1]:离开目录
'D:/Libraries/deformetrica/build/CMakeFiles/CMakeTmp'

Makefile:125:目标“cmTC_bbc9e/fast”的配方失败

mingw32-make.exe: *** [cmTC_bbc9e/fast] 错误 2

CMake 将无法正确生成此项目。称呼 堆栈(最近调用优先):CMakeLists.txt:3(项目)

配置不完整,出现错误!也可以看看 “D:/Libraries/deformetrica/build/CMakeFiles/CMakeOutput.log”。也可以看看 "D:/Libraries/deformmetrica/build/CMakeFiles/CMakeError.log"。

g++ 是用 MinGW 安装的,我在安装时没有看到任何错误,所以我想知道如何解决这个问题?

非常感谢您的帮助!

【问题讨论】:

  • 您应该列出用于调用cmake 的完整命令。只需剪切和粘贴整个终端窗口,最好包括程序完成后出现的命令提示符。

标签: cmake g++ mingw


【解决方案1】:

您需要将 MinGW bin 文件夹附加到 PATH 环境变量中。

您可以在这里查看设置: How do I add the MinGW bin directory to my system path?

【讨论】:

  • 我在 QtCreator 中遇到了同样的问题。我克隆了一个工具包。原始工具包有效,克隆没有,除非我将 g++ 添加到路径变量中。很奇怪。我将这些变量添加到工具包中:OPENCASCADE_DIR=C:\Users\gf\Documents\opencascade PATH=${OpenCASCADE_DIR}\win64\gcc\bin;${VTK_DIR}\bin;C:\Qt\Tools\mingw810_64\bin ;%{Env:PATH} VTK_DIR=C:\Users\gf\Documents\INSTALL\VTK
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-26
  • 2019-01-01
  • 2020-05-29
  • 2021-07-30
  • 2020-03-24
  • 2015-07-15
  • 1970-01-01
相关资源
最近更新 更多