programing

Windows에서 Cmake

stoneblock 2023. 7. 23. 13:58

Windows에서 Cmake

Windows에서 CMake를 실행하려고 하는데 다음 오류가 발생합니다.

-- The C compiler identification is unknown
CMake Error at CMakeLists.txt:3 (PROJECT):
  The CMAKE_C_COMPILER:

    cl

  is not a full path and was not found in the PATH.

  To use the NMake generator with Visual C++, cmake must be run from a shell
  that can use the compiler cl from the command line.  This environment is
  unable to invoke the cl compiler.  To fix this problem, run cmake from the
  Visual Studio Command Prompt (vcvarsall.bat).

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.

하지만 내 "CC" 환경 변수는 설정되어 있습니다!

>>echo %CC%
C:\Anaconda2\MinGW\x86_64-w64-mingw32\bin\gcc.exe

Cmake의 오류 메시지는 여기서 오해의 소지가 있기 때문에 조금 더 자세한 답변이 필요하다고 생각합니다.

간단히 말해서, 당신은 과 달걀 종류의 문제에 부딪혔습니다.

Cmake의 컴파일러 탐지는 강력하지만, 첫 번째 시도 동안 -

  • 사용할 명시적인 생성기를 제공하지 않았습니다.-G
  • 설치된 Visual Studio를 찾을 수 없습니다.
  • C/C++ 컴파일러를 찾을 수 없습니다.PATH환경
  • 그것은 찾을 수 없었습니다.CC컴파일러의 전체 경로로 정의된 환경 변수

기본값은 다음과 같습니다.nmake.

여기서 문제가 발생합니다. 가변 캐시에서 암묵적인 생성기/컴파일러 선택을 기억합니다( 참조).CMAKE_GENERATORCMakeCache.txt) 컴파일러가 여러 개 설치된 경우 매우 유용한 기능은 무엇입니까?

하지만 만약 당신이 선언한다면,CC오류 메시지에서 알 수 있듯이 환경 변수는 제너레이터의 선택이 첫 번째 시도에서 기억되었기 때문에 너무 늦었습니다.

두 가지 가능한 방법이 있습니다.

  1. 다음과 같이 올바른 제너레이터를 지정하여 제너레이터 선택을 무시합니다.cmake.exe -G "MinGW Makefiles" ..(@Guillaume이 연결한 답이 암시하듯이)
  2. 프로젝트의 이진 출력 디렉터리 삭제(다음 포함)CMakeCache.txt) 및 을 합니다.cmake.exe ..컴파일러를 추가한 후bin폴더의 폴더PATH환경.

레퍼런스

사용합니다cmake -G "MinGW Makefiles" .대신에cmake .효과가 있었어요!

저는 같은 문제를 접했고 저에게 효과가 있었던 것은 다음과 같습니다.

  1. 자습서에 따라 Visual Studio를 설치했습니다.
  • 2019년 버전(현재 2021년)을 설치해야 합니다. 몇 가지 추가 사항이 있지만 괜찮습니다.전체적으로 약 6.7G입니다.
  • 당신은 정말로 필요하지 않습니다.pip install dlib일부와 나머지
  1. 위의 튜토리얼을 바탕으로 환경 변수에 이 경로를 추가했습니다(C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\Hostx64\x64환경 변수에 경로를 추가하는 방법은 위 자습서에서도 확인할 수 있습니다.)

언급URL : https://stackoverflow.com/questions/35869564/cmake-on-windows