Cmake:未设置 CMAKE_MAKE_PROGRAM

Posted

技术标签:

【中文标题】Cmake:未设置 CMAKE_MAKE_PROGRAM【英文标题】:Cmake : CMAKE_MAKE_PROGRAM is not set 【发布时间】:2017-10-11 20:22:21 【问题描述】:

我正在尝试构建 openCv,我之前从未构建过任何东西。

我使用ftp://ftp.equation.com/gcc/gcc-7.1.0-64.exe 在 C:\MinGW 中安装了 gcc 现在,当我在命令行中输入“gcc --version”时,我得到了一个 awnser。

然后我从https://cmake.org/安装了CMAKE

我运行 GUI 并选择了我的源文件夹,然后在发生错误时点击“配置”。

根据我的研究,我的路径中应该有“mingw64-make”,这不是因为在命令行中输入它时会产生“无法识别”

我用 UltraSearch 搜索我的驱动器,它只返回了这个:

Name   Path    Size    Last Change File Type
x86_64-w64-mingw32-c++.exe  C:\MinGW\bin\   1,10 MB 11/10/2017  .exe (Application)
x86_64-w64-mingw32-g++.exe  C:\MinGW\bin\   1,10 MB 11/10/2017  .exe (Application)
x86_64-w64-mingw32-gcc-7.1.0.exe    C:\MinGW\bin\   1,10 MB 11/10/2017  .exe (Application)
x86_64-w64-mingw32-gcc-ar.exe   C:\MinGW\bin\   75,00 KB    11/10/2017  .exe (Application)
x86_64-w64-mingw32-gcc-nm.exe   C:\MinGW\bin\   74,50 KB    11/10/2017  .exe (Application)
x86_64-w64-mingw32-gcc-ranlib.exe   C:\MinGW\bin\   74,50 KB    11/10/2017  .exe (Application)
x86_64-w64-mingw32-gcc.exe  C:\MinGW\bin\   1,10 MB 11/10/2017  .exe (Application)
x86_64-w64-mingw32-gfortran.exe C:\MinGW\bin\   1,10 MB 11/10/2017  .exe (Application)

所以看起来这个 mingw64-make 在最新的 gcc 版本中不存在,我该怎么办?

谢谢。

【问题讨论】:

可能相关:***.com/questions/6141608/… 【参考方案1】:

make 工具(如 mingw32-make)是一个额外的程序,它不是编译器的一部分,但有时会与它捆绑在一起。在你的情况下,它不是,你必须明确地得到它。

我建议使用msys2 环境,因为它可以轻松访问您需要的一切(包括 Ninja 构建系统 - 一个 make 替换)。

通过 MINGW64 Shell 安装,例如pacman -S mingw-w64-x86_64-toolchain,cmake,ninja

然后使用cmake -G Ninja …

您还将拥有mingw32-make.exe,但没有充分的理由不将 Ninja 与 CMake 一起使用。


或者,您可以获取 Visual Studio 的副本并使用 NMake Makefiles…Visual Studio… 生成器。

【讨论】:

另一种选择是在 Windows 上使用面向 Windows 的工具。我的意思是使用 Visual Studio 社区版,然后告诉 CMake 为 VS 2017 构建项目。像 Linux 一样使用 Linux,像 Windows 一样使用 Windows。它确实让很多事情变得更容易。 @legalize :我会试一试,MinGW 实际上在 48% 之后就崩溃了。我对c++编译不熟悉,所以不知道像windows这样使用windows是什么。 @legalize 虽然我同意 VS 是另一种选择(我将其添加到答案中),但我不知道它会变得更容易。 @sliders_alpha 为什么要首先手动构建opencv?它以什么方式崩溃? @Darklighter 发帖者的问题是在路径中找不到 mingw make。如果您使用 VS 生成器,make 不在图片中,您不必为尝试在 Windows 上使用面向 unix 的工具链而奋斗。

以上是关于Cmake:未设置 CMAKE_MAKE_PROGRAM的主要内容,如果未能解决你的问题,请参考以下文章

CMake 错误:CMake 无法找到与“Unix Makefiles”对应的构建程序。 CMAKE_MAKE_PROGRAM 未设置

使用 CMAKE 构建 GLFW3 应用程序 - GLFW LIBRARIES 未设置

CMake 未启用异常

CMake-FLANN库未生成(对于PCL库)

yaml-cpp 未定义的 CMake 引用

CMake Dlibdotnet.native 构建错误