CMake가 Visual C ++ 컴파일러를 찾지 못함 프로젝트에서 CMake를 실행 한 후 C

Visual Studio 2015를 설치하고 이전 프로젝트에서 CMake를 실행 한 후 C 컴파일러를 찾을 수 없다는 CMake 오류가 발생합니다.

The C compiler identification is unknown
The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:4 (PROJECT):
  No CMAKE_C_COMPILER could be found.

CMake Error at CMakeLists.txt:4 (PROJECT):
  No CMAKE_CXX_COMPILER could be found.

cl.exeVisual Studio 폴더 에서을 (를) 검색 C:\Program Files\Microsoft Visual Studio 14.0했지만 찾을 수 없습니다.

Visual Studio 2015를 사용하여 Windows에서 작동하도록 CMake를 설정하려면 어떻게해야합니까?



답변

해결책을 찾았습니다. Visual Studio IDE가 성공적으로 설치되었지만 빌드 도구를 설치하지 않았으므로 C ++ 컴파일러를 설치하지 않았습니다.

Visual Studio 2015 GUI에서 C ++ 프로젝트 를 수동으로 생성 하려고 시도 하여 C ++ 패키지를 다운로드하라는 메시지를 표시 할 수있었습니다. 그런 다음 CMake는 어려움없이 컴파일러를 찾을 수있었습니다.


답변

나를 위해 일한 솔루션은 다음과 같습니다.

  1. Visual Studio 명령 프롬프트 도구를 엽니 다 (관리자 권한). Windows 10에서는 ‘개발자 명령 프롬프트’라고 할 수 있습니다.
  2. CMake 실행 파일이있는 위치로 이동합니다.
  3. Cmake.exe 실행
  4. 빌드 및 소스 폴더를 선택하려면 평소와 같이 진행하십시오.
  5. 적절한 Visual Studio 컴파일러를 선택하고 구성 버튼을 누르십시오.

문제없이 실행되기를 바랍니다.


답변

CMakeError.log 파일을 살펴보고 다음에 대한 오류를 발견했습니다. cannot run 'rc.exe'

이 답변 을 검색 하여 Microsoft SDK bin에서 VC bin으로 RC.Exe 및 RcDll.Dll을 복사 한 다음 CMake가 작동했습니다.


편집 : 다른 질문에 대한 상위 답변 은 그것이 PATH 문제라는 것을 암시하므로 Microsoft SDK bin이 PATH에 있는지 확인하는 것으로 충분할 수 있습니다.


답변

생성기에서 올바른 버전의 Visual Studio를 사용하고 있는지 확인합니다. Visual Studio 14를 설치할 때 Visual Studio 15를 잘못 선택했습니다.


답변

Visual Studio 2017에서이 문제를 겪는 사람들 : 관련 컴파일러 도구 세트와 함께 선택하고 설치해야하는 CMake 관련 기능이 있습니다. 아래 스크린 샷을 참조하십시오.

CMake 용 Visaul C ++ 도구를 설치해야합니다.


답변

위의 솔루션 중 어느 것도 작동하지 않으면 중지하고 온 전성 검사를 수행하십시오.

잘못된 -G <config>문자열을 사용하여 화상을 입었고 잘못된 오류가 발생했습니다.

먼저 일반 명령 프롬프트가 아닌 VS 명령 프롬프트에서 실행하십시오 . 당신은에서 찾을 수 있습니다
Start Menu -> Visual Studio 2015 -> MSBuild Command Prompt for VS2015모든 걸 포기하고이 세트 VS 도구 등에 대한 올바른 경로를

이제 cmake에서 사용할 수있는 생성기를 확인하십시오.

cmake -help


...<snip>...
The following generators are available on this platform:
Visual Studio 15 [arch] = Generates Visual Studio 15 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
Optional [arch] can be "Win64" or "IA64".
...

그런 다음 [arch]가 추가 된 적절한 문자열 선택합니다 .

mkdir _build
cd _build
cmake .. -G "Visual Studio 15 Win64"

하위 디렉토리에서 cmake를 실행하면 해당 디렉토리의 모든 항목을 삭제할 수 있으므로 ‘정리’하기가 더 쉽습니다.

Visual Studio 15로 업그레이드했지만주의를 기울이지 않고 2012 년에 생성하려고했습니다.


답변

나를 위해 CMakeError.log파일을 확인 하고 다음을 찾았습니다.

[…] 오류 MSB8036 : Windows SDK 버전 8.1을 찾을 수 없습니다. 필요한 Windows SDK 버전을 설치하거나 프로젝트 속성 페이지에서 SDK 버전을 변경하거나 솔루션을 마우스 오른쪽 단추로 클릭하고 “Retarget solution”을 선택합니다.

이것은 Windows 7에서 Visual Studio 2017을 사용하고 있음에도 불구하고 CMake가 Windows 8.1 SDK를 사용하여 탐지 프로젝트를 빌드하려는 것으로 보입니다.

Visual Studio 설치 관리자를 사용하여 해당 구성 요소를 추가했으며 이제 CMake는 조개처럼 행복합니다.