>백엔드 개발 >C++ >CMake에서 -fException 및 기타 링커/컴파일러 플래그를 추가하는 방법은 무엇입니까?

CMake에서 -fException 및 기타 링커/컴파일러 플래그를 추가하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-17 00:02:25697검색

How to Add -fexceptions and Other Linker/Compiler Flags in CMake?

CMake 파일에 링커 및 컴파일 플래그를 통합하는 방법

arm-linux-androideabi-g 컴파일러로 컴파일할 때 예외 추가 처리하려면 -fExceptions 플래그를 포함해야 합니다. 명령줄을 사용하여 작동하는 동안 CMake 파일을 사용하여 컴파일하려고 하면 문제가 발생합니다.

CMake에서 -fExceptions 플래그를 추가하려면 다음 단계를 따르세요.

  1. 상수 정의: 플래그를 다음과 같이 선언합니다. 상수.
SET(CMAKE_EXCEPTIONS_FLAG "-fexceptions")
  1. CMake 변수에 추가: 적절한 CMake 변수에 플래그를 추가합니다.
SET(CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} ${CMAKE_EXCEPTIONS_FLAG}")
SET(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXCEPTIONS_FLAG}")
  1. 대상 속성 사용: 또는 대상 속성을 사용하여 플래그.
get_target_property(TEMP ${THE_TARGET} COMPILE_FLAGS)
if(TEMP STREQUAL "TEMP-NOTFOUND")
    SET(TEMP "")
else()
    SET(TEMP "${TEMP} ")
endif()
SET(TEMP "${TEMP}${CMAKE_EXCEPTIONS_FLAG}")
set_target_properties(${THE_TARGET} PROPERTIES COMPILE_FLAGS ${TEMP})

이러한 단계를 구현하면 필요한 플래그를 CMake 파일에 통합하고 원하는 예외 처리 기능으로 코드를 성공적으로 컴파일할 수 있습니다.

위 내용은 CMake에서 -fException 및 기타 링커/컴파일러 플래그를 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.