首页 >后端开发 >C++ >如何在 CMake 中添加 -fExceptions 和其他链接器/编译器标志?

如何在 CMake 中添加 -fExceptions 和其他链接器/编译器标志?

DDD
DDD原创
2024-12-17 00:02:25647浏览

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 中添加 -fExceptions 和其他链接器/编译器标志?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn