ProgramingTip

CMAKE_MAKE_PROGRAM을 사용할 수 없습니다.

bestdevel 2020. 12. 25. 10:29
반응형

CMAKE_MAKE_PROGRAM을 사용할 수 없습니다.


Cmake를 사용하여 로프의 끝에 도달했습니다. 그것은 너무나 많은 잠재력을 가질 수 있도록, 나는 그것이 기능하기 위해 기본적인 시스템 도구 (즉, "만들기")를 찾게 만들 수없는 것입니다.

조짐

Cmake 및 Cmake GUI는 다음을 생성합니다 (CMakeCache.txt 파일을 삭제 한 후).

Processing top-level CMakelists.txt for project swb
CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles".
CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.

이 질문에서 "make"를 찾는 데 점점 늘어나고 맞추고 CMake가 라이브러리 및 기타 유틸리티 파일 (링커, nm, ar 등)을 찾지 못한 것과 동일한 문제가 많이 발생했습니다. 아래에 설치 기술을 사용하면 Linux에서 사용할 때 CMake가 설치되어 있습니다.

체계

Windows 7 (64 비트) 여러 버전의 MinGW (32 비트 / 64 비트) Cmake 2.8.4; MinGW의 비표준 설치 위치 (c : / MinGW-32).

내가 시도한 것

  1. CMakelists.txt는 파일의 처음 10 줄 MAKE- "SET (CMAKE_PROGRAM c : / MinGW FORCE)"를 포함합니다.

  2. 이전 버전의 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 )  
    
  3. CMake 또는 CMake-GUI를 실행하기 전에 cmd.exe 환경 변수에서 CMAKE_MAKE_PROGRAM을 설정하십시오.

  4. CMAKE_MAKE_PROGRAM 및 CMAKE_C_COMPILER 등을 포토하는 "도구 체인"파일 사용

효과가 덜한 가지

GUI를 사용하여 CMAKE_MAKE_PROGRAM 변수 ( "C : /MinGW-32/bin/make.exe")를 채우면 CMake가 빌드 파일을 생성합니다.

질문 (들)

GUI를 통해 프로그램의 이름을 노출하면 CMake가 작동하도록 할 수 있습니다. Windows 7 (64 비트) / MinGW 조합으로 사용자 개입없이 CMake가 내 프로그램을 사용할 수 있도록해야합니까?


두 가지 제안이 있습니다.

  1. % PATH % 환경 변수에 만들었 수상? 내 시스템에서 % PATH %에 % MINGW_DIR % \ bin을 추가해야합니다.

  2. 설치 했습니까? mingw 설치에 따라 별도의 패키지가 될 수 있습니다.

  3. 마지막 수단 : 명령 줄에서 만들 전체 경로를 이용할 수 있습니까? cmake -D"CMAKE_MAKE_PROGRAM:PATH=C:/MinGW-32/bin/make.exe" ..\Source


GUI에서 "고급"확인란을 선택합니다. 이제 아래에 여러 항목이 표시됩니다. mingw32-make.exe 파일의 이름을 make.exe로 바꾸고 (복사본 만 만들 수 있음) CMAKE_MAKE_PROGRAM 파일 경로 변수를 해당 파일의 위치로 설정합니다.


같은 문제를 해결했습니다. GCC 및 G ++가 균형 MinGW가 자체는 설치되지 않습니다. 그래서이 명령이 도움이되었습니다.

mingw-get.exe install mingw32-make

그런 다음 CMake 캐시 ( CMakeCache.txtCMake의 작업 디렉터리에 있음)를 지우고 CMake를 다시 실행합니다.


이전 답변은 CMake 설치 (재) 또는 구성을 제안했지만 모두 도움이되지 않았습니다.

이전에 MinGW의 Make 파일 이름을 사용하고 mingw32-make.exe지금은 make.exe. 다른 파일을 사용하도록 CMake를 구성하는 가장 제안 된 방법이 작동하지 않습니다.

사본을 복사 make.exe하고 이름을 변경하십시오 mingw32-make.exe.


누락 된 패키지를 설치했습니다. 툴체인을 설치하고 CLion을 다시 시작하면 모두 해결되었습니다.

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

최근에 같은 문제가 발생했습니다 (WIN764에서 CMake 및 Qt / MinGW로 OpenCV).

그리고 내 환경 변수 PATH를 포함 Control Panel\All Control Panel Items\System\Advanced Sytem Settings하여 % MINGW_DIR % \ bin 및 % CMAKE_DIR % / bin을 사용하여이 문제를 해결합니다.

또한 쉬운 디렉토리에 cmake2.8을 설치했습니다 (공백없이).


.a 정적 라이브러리 파일 을 빌드하기 위해 Qt Creator (MinGW)로 OpenCV를 만들 때 똑같은 문제가 발생했습니다 .

설치하는 사람들을 위해 Windows 32 비트 (MinGW 4.8, OpenGL 을 634MB )에 대한 Qt는 5.2.1을 사용하면 시스템의 환경 변수에 다음을 추가하면이 문제가 해결 될 수 있습니다 Path.

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

나는 같은 문제가 있었다. http://tdm-gcc.tdragon.net/에 설치 프로그램을 설치하여 mingw 설치했습니다 . mingw를 필요로 할 때 경로에 올바른 환경 변수를 추가합니다 (경로 변수를 수동으로 편집 할 수 있습니다). 그것은 나를위한 속임수였습니다.


글쎄, 유용하다면 cmake에 몇 가지 문제가 있습니다. 시스템에서 전역 변수 (내 경우 MinGW Codeblocks) PATH를 수정하면 모두 사라졌습니다. 코드 블록 설치가 기본값이 아니고 알 수없는 이유로이 전역 변수가 올바른 위치를 가리 키지 않습니다. Codeblocks 또는 MinGW의 경로가 올바른지 확인하십시오.

"내 컴퓨터"> 속성> 고급 속성 또는 고급> 환경 변수>를 마우스 오른쪽 버튼으로 클릭하여 PATH 변수를 변경합니다.

그것은 나를 위해 일했습니다.)


동일한 문제가 발생하여 도구 모음 파일에 CMAKE_MAKE_PROGRAM을 지정했지만 cmake가 찾지 못했습니다. 그런 다음 명령 줄에 -D CMAKE_MAKE_PROGRAM = ...을 추가하려고 시도했지만 작동했습니다. 그런 다음 생성기를 "MinGW Makefiles"에서 "Unix Makefiles"로 변경하고 명령 줄에서 -D CMAKE_MAKE_PROGRAM을 제거한 후 작동했습니다!

따라서 어떤 이유로 생성기가 "MinGW Makefiles"로 설정되면 도구 모음 파일의 CMAKE_MAKE_PROGRAM 설정이 유효하지 않지만 "Unix Makefiles"생성기의 경우 유효합니다.


다음을 사용하여 해결되는 동일한 문제가 있습니다.

공백없이 8자를 넘지 않도록 모든 폴더의 이름을 바꾸십시오.


또한 mingw32 (tdm-gcc 스위트에서)로 opencv2.3.2를 컴파일하고 싶을 때도 발생합니다. 종종 tdm-gcc를 설치할 때 mingw32-make.exe의 이름을 make.exe로 바꾸고 싶습니다. 그리고 이것이 질문이 될 수 있다고 생각합니다. cmake가 MinGW Makefile을 생성하도록 요청하면 make.exe 대신 ming32-make.exe를 찾으려고합니다. 그래서 make.exe를 mingw32-make.exe에 복사하고 Cmake-gui에서 재구성합니다. 마침내 작동합니다! 따라서이 질문을 해결하기 위해 mingw32-make.exe가 있는지 여부를 찾는 것이 좋습니다.


CMake를 사용하여 mingw로 Windows에서 Qt 용 GammaRay를 빌드하려고했습니다. 그래서 Qt를 설치했습니다. 그리고 여기 다른 사용자들과 같은 문제가있었습니다.

나를 위해 일한 접근 방식은 Qt 빌드 프롬프트에서 cmake-gui를 시작하는 것입니다 (Qt 설치 프로그램이 "시작 메뉴 \ 모든 프로그램 \ Qt {QT_VERSION}"폴더에 만든 바로 가기).


모든 사람이 다른 해결책을 가지고있는 것 같습니다. 내 문제를 다음과 같이 해결했습니다.

64 비트 mingw를 설치하면 "C : \ Program Files \ mingw-w64 \ x86_64-5.1.0-posix-seh-rt_v4-rev0 \ mingw64 \ bin"에 자동으로 설치됩니다.

Eventhough mingw-make.exe는 위의 경로 아래에 있었고 잘못된 문자 하나 또는 긴 경로 이름이 CMake를 혼동했습니다. 나는 환경 경로에 경로를 추가하려고 시도하고 CMAKE를 매개 변수로 제공하려고합니다.

마지막으로 mingw-w64의 복잡한 경로를 "C : / mingw64"로 이동하여 환경 경로를 설정하고 CMake를 다시 시작했습니다. 나를 위해 문제가 해결되었습니다.


이 문제를 해결하기 위해 내 창 경로에 다음 줄을 추가해야했습니다. CMAKE는 확인란을 선택하는 한 설치시 올바른 경로를 설정해야합니다. 이것은 설치할 수있는 수많은 버전에 따라 다른 솔루션이 될 수 있습니다.

C:\msys64\mingw32\bin
C:\msys64\mingw64\bin

우분투에서는 컴파일러가 누락 된 것 같습니다. 다음으로 수정 :

sudo apt install build-essential

참조 URL : https://stackoverflow.com/questions/6141608/cmake-make-program-not-found

반응형