2015-01-23 4 views
4

나는 다음 행 (들)을 포함하는 비교적 간단한 CMakeLists.txt 있습니다"CXX 컴파일러 알려진 기능"++ 2013

target_compile_features(myapp PRIVATE 
    cxx_generalized_initializers 
    cxx_lambdas 
    cxx_nullptr) 

나는 ++ 2013 MSVC있는 Windows 2012 Server에서 cmake을 실행하면 Express가 설치되어 있으면 다음 오류가 발생합니다.

CMake Error at CMakeLists.txt:61 (target_compile_features): 
    target_compile_features no known features for CXX compiler 

    "MSVC" 

    version 18.0.30723.0. 

이 오류의 원인은 무엇이며 어떻게해야합니까? CMake는 GCC를 사용하여 우분투 14.10에서 프로젝트를 빌드 할 때 아무런 문제가없는 것 같습니다.

CMake 3.1.0을 사용하고 있는데 도움이 될 경우 (target_compile_features을 지원하는 첫 번째 CMake 릴리스였습니다).

답변

3

CMake 3.1.0은 GCC 4.7+ (UNIX는 있지만 APPLE은 아님) 및 Clang (AppleClang은 제외) 3.4+에 대해서만 '컴파일 기능'을 지원합니다.

CMake 3.2.0은 GCC 4.4+ (UNIX의 경우 APPLE 포함), AppleClang 4.0+ (Xcode 4.4+), SolarisStudio 12.4 및 MSVC 2010+로 지원을 확장합니다.

다른 컴파일러의 패치 및 유지 관리는 cmake 메일 링리스트로 보낼 수 있습니다.

APPLE에있는 경우 CMP0025NEW인지 확인하십시오.

https://cmake.org/cmake/help/v3.6/command/cmake_policy.html

+0

고마워요! 나는 CMake 3.2가 2 월 1 일에 릴리스 될 예정이므로 오래 기다릴 필요가없는 것처럼 보입니다. –

+0

CMake 3.3.0 및 AppleClang 6.1.0에서이 오류가 발생합니다. – abergmeier

+1

CMake 3.3.0에서 버그가있는 것으로 보입니다. CMake 3.3.1에서 작동합니다. – abergmeier