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 未设置