CMake에서 C 11 호환성 검색 자동화
문제:
CMake를 어떻게 활용할 수 있나요? 프로젝트에서 C 11 호환성을 자동으로 감지하고 구성하려면?
해결책:
CMake 버전 3.1.0 이상:
CMake 버전 3.1.0 이상에서는 다음 코드 조각을 사용하여 컴파일러에서 지원하는 C 기능을 감지할 수 있습니다.
<code class="cmake">cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) project(foobar CXX) message("Your C++ compiler supports these C++ features:") foreach(i ${CMAKE_CXX_COMPILE_FEATURES}) message("${i}") endforeach()</code>
C 표준 구성:
수동 감지 대신 CMake는 컴파일을 위한 C 표준을 선언하는 두 가지 방법을 제공합니다.
명시적 표준 사양:
대상 속성 설정 CXX_STANDARD 및 CXX_STANDARD_REQUIRED를 사용하여 C 표준을 명시적으로 지정:
<code class="cmake">set_property(TARGET prog PROPERTY CXX_STANDARD 11) set_property(TARGET prog PROPERTY CXX_STANDARD_REQUIRED ON)</code>
기능 종속 표준 감지:
target_compile_features 명령을 사용하여 프로젝트에 필요한 C 기능을 지정합니다. CMake는 다음 기능에서 적절한 C 표준을 추론합니다.
<code class="cmake">target_compile_features(foobar PRIVATE cxx_strong_enums cxx_constexpr cxx_auto_type)</code>
추가 기능:
CMake 전역 속성CMAKE_CXX_KNOWN_FEATURES는 다음 목록을 제공합니다. 알려진 C 기능 이를 통해 컴파일러에서 지원하는 특정 기능을 감지할 수 있습니다.
위 내용은 CMake를 사용하여 C 11 호환성을 자동으로 감지하고 구성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!