Makefile 找不到CMAKE_MAKE_程序

Makefile 找不到CMAKE_MAKE_程序,makefile,cmake,mingw,Makefile,Cmake,Mingw,我和克马克已经走到了尽头;它有这么大的潜力,但我似乎无法让它找到基本的系统工具(即制作)来运行 症状 CMake和CMake GUI生成以下内容(删除CMAKECHACHE.txt文件后): 在这个问题中,我的重点是查找make,然而,我也遇到了许多与CMake相同的问题,即无法找到库和其他实用程序文件(linker、nm、ar等)。下面列出的技术似乎使CMake能够在Linux下运行时找到这些文件 系统 Windows7(64位);MinGW的多个版本(32位/64位);Cmake 2.8.4

我和克马克已经走到了尽头;它有这么大的潜力,但我似乎无法让它找到基本的系统工具(即
制作
)来运行

症状 CMake和CMake GUI生成以下内容(删除CMAKECHACHE.txt文件后):

在这个问题中,我的重点是查找
make
,然而,我也遇到了许多与CMake相同的问题,即无法找到库和其他实用程序文件(linker、nm、ar等)。下面列出的技术似乎使CMake能够在Linux下运行时找到这些文件

系统 Windows7(64位);MinGW的多个版本(32位/64位);Cmake 2.8.4; MinGW的非标准安装位置(c:/MinGW-32)

我尝试过的事情
  • CMakelists.txt在文件的前10行中包含
    集合(CMAKE\u MAKE\u程序c:/MinGW-32/bin/MAKE.exe FORCE)

  • CMakelists.txt的早期版本包含:

    find_program(CMAKE_MAKE_PROGRAM
      NAMES make
            make.exe
      DOC "Find a suitable make program for building under Windows/MinGW"
      HINTS c:/MinGW-32/bin )  
    
  • 在运行CMAKE或CMAKE GUI之前,在cmd.exe环境变量中设置
    CMAKE\u MAKE\u程序

  • 使用“工具链”文件,识别
    CMAKE\u MAKE\u程序
    以及
    CMAKE\u C\u编译器

  • 有一件事奏效了 如果我使用GUI填充
    CMake\u MAKE\u程序
    变量(“C:/MinGW-32/bin/MAKE.exe”),CMake将成功创建构建文件

    问题:
    如果我通过GUI识别make程序的名称,我可以让CMake工作。如何使用Windows 7(64位)/MinGW组合让CMake在没有用户干预的情况下找到我的make程序?

    我有两个建议:

  • 您的%PATH%环境变量中是否有make?在我的系统上,我需要将%MINGW\u DIR%\bin添加到%PATH%

  • 你安装了make吗?根据您的mingw安装,它可以是一个单独的包

  • 最后的手段:你能在命令行上通过完整的路径吗<代码>cmake-D“cmake\u MAKE\u程序:PATH=C:/MinGW-32/bin/MAKE.exe”。\Source


  • 最近我遇到了同样的问题(在WIN764上使用CMake和Qt/MinGW编译OpenCV)

    我想我用%MINGW\u DIR%\bin和%CMAKE\u DIR%/bin解决了这个问题,包括在我的环境变量路径上(通过
    Control Panel\All Control Panel Items\System\Advanced System Settings

    此外,我将cmake2.8安装在一个简单的目录(没有空格)

    在GUI中,选中“高级”复选框。它现在应该显示以下几个条目。将您的mingw32-make.exe文件重命名为make.exe(您只需制作一个副本),并将CMAKE_make_程序filepath变量设置为所述文件的位置。

    我也遇到了同样的问题。 使用提供的安装程序安装了mingw。安装mingw时,它会将正确的环境变量添加到path中(无需手动编辑path变量)。
    这对我来说是个好办法

    如果它有用的话,我在cmake上遇到了几个问题,包括这一个。当我修复系统中的全局变量(在我的例子中是MinGW代码块)路径时,它们都消失了。当codeblocks安装不是默认的,并且由于一些未知的原因,这个全局变量没有指向正确的位置。检查代码块或MinGW的路径是否正确:

    右键单击“我的电脑”>属性>高级属性或高级>环境变量>以更改路径变量


    它对我有用;)

    我遇到了同样的问题,可以通过以下方法解决:


    尝试将所有文件夹重命名为不超过8个字符且不带空格。

    我刚刚解决了相同的问题。我安装了带有GCC和G++的MinGW,但没有
    make
    。这个命令帮助了我:

    mingw-get.exe install mingw32-make
    

    运行后,清除CMake缓存(删除CMake工作目录中的
    CMakeCache.txt
    文件),然后再次运行CMake。

    当我只想用mingw32(在tdm gcc套件中)编译opencv2.3.2时,也会发生这种情况。通常在安装tdm gcc时,我会将mingw32-make.exe重命名为make.exe。我认为这可能是个问题。如果cmake被要求生成一个MinGW Makefiles,它将尝试查找ming32-make.exe而不是make.exe。因此,我将make.exe复制到mingw32-make.exe,并在Cmake gui中重新配置。终于成功了!所以我想建议你看看
    你有或没有mingw32-make.exe来解决这个问题。

    当我试图用Qt-Creator(MinGW)编译OpenCV来构建.a静态库文件时,我遇到了完全相同的问题

    对于已安装的系统,如果将以下内容添加到系统的环境变量
    Path
    ,则可以修复此问题:

    C:\Qt\Qt5.2.0\Tools\mingw48_32\bin
    

    我也有同样的问题,在一个工具链文件中指定了CMAKE_MAKE_程序,但CMAKE没有找到它。然后我尝试添加-D CMAKE_MAKE_PROGRAM=。。。在命令行中,它就工作了。然后我尝试将生成器从“MinGW Makefiles”更改为“Unix Makefiles”,并从命令行中删除了-D CMAKE_MAKE_程序,然后它也工作了


    因此,出于某种原因,当生成器设置为“MinGW Makefiles”时,工具链文件中的CMAKE_MAKE_程序设置无效,但对于“Unix Makefiles”生成器则有效。

    我尝试使用CMAKE在Windows上使用MinGW为Qt构建GammaRay。所以,我安装了Qt。我和这里的其他用户有同样的问题


    对我有效的方法是从Qt构建提示符(一个由Qt安装程序在“开始菜单\All programs\Qt{Qt\u VERSION}”文件夹中创建的快捷方式)启动cmake gui。

    以前的答案建议(重新)安装或配置cmake,但它们都没有帮助

    以前,MinGW编译Make时使用的文件名是
    mingw32 Make.exe
    ,现在是
    Make.exe
    。大多数建议的将CMake配置为使用其他文件的方法都不起作用

    只需复制
    make.exe
    并重命名副本
    mingw32 make.exe

    I
    C:\Qt\Qt5.2.0\Tools\mingw48_32\bin
    
    pacman -S mingw-w64-x86_64-cmake mingw-w64-x86_64-extra-cmake-modules
    pacman -S mingw-w64-x86_64-make
    pacman -S mingw-w64-x86_64-gdb
    pacman -S mingw-w64-x86_64-toolchain
    
    C:\msys64\mingw32\bin
    C:\msys64\mingw64\bin
    
    sudo apt install build-essential