arm-linux를 사용하여 예외 처리 기능이 있는 간단한 프로그램을 컴파일할 때 -androideabi-g 컴파일러에서는 예외 처리를 활성화하려면 -fExceptions 플래그를 추가해야 합니다. 그러나 set(CMAKE_EXE_LINKER_FLAGS) 또는 set(CMAKE_C_FLAGS)을 사용하여 CMake를 통해 이 플래그를 추가하려고 하면 오류가 발생합니다.
CMake 파일에 링커 또는 컴파일 플래그를 추가하려면 다음을 따르세요. 단계:
플래그 정의: 다음 명령을 사용하여 -fExceptions 플래그를 정의합니다.
SET(FLAG_NAME -fexceptions)
CMake 변수에 추가: 관련 CMake 변수에 플래그를 추가합니다. 컴파일러 플래그의 경우:
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAG_NAME}") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAG_NAME}")
링커 플래그의 경우:
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLAG_NAME}") SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${FLAG_NAME}")
대상 속성 사용: 또는 대상 속성을 사용할 수 있습니다.
get_target_property(TEMP ${TARGET} COMPILE_FLAGS) if(TEMP STREQUAL "TEMP-NOTFOUND") SET(TEMP "") else() SET(TEMP "${TEMP} ") endif() SET(TEMP "${TEMP}${FLAG_NAME}") set_target_properties(${TARGET} PROPERTIES COMPILE_FLAGS ${TEMP})
이 단계를 수행하면 CMake 파일에 링커 또는 컴파일 플래그를 성공적으로 추가하고 -fExceptions 플래그를 사용하여 예외 처리를 활성화하는 문제를 해결할 수 있습니다.
위 내용은 CMake에서 링커를 올바르게 추가하거나 플래그를 컴파일하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!