[英]CMake: link options
我有一个定义多个目标库(静态和动态)的 Android CMakeList.txt。 对于其中一个库,我需要将 -Wl,--version-script 与特定版本的脚本一起传递,为了实现这一点,我正在使用 target_link_libraries:
target_link_libraries( # Specifies the target library.
native-lib1
# Links the target library to the log library
# included in the NDK.
${log-lib}
-Wl,--version-script=${CMAKE_SOURCE_DIR}/../../../../../../native1.map
)
不幸的是, -Wl 选项被添加到我所针对的所有其他库中,导致我出现任何类型的链接问题,因为 native1.map 仅引用 native-lib1 中的函数。 我也尝试使用 target_link_options 和 add_link_options 但 Android Studio 返回错误,指出这些不是有效的 CMake 命令。
有没有办法为 CMakeList.txt 中的单个库定义 linker 选项?
我假设该选项在这里被视为PUBLIC
。 一般来说,我建议在使用target_***
命令时始终指定“可见性”。
在这种情况下,我建议使用target_link_options
,因为这更清楚地说明了意图。
target_link_libraries( # Specifies the target library.
native-lib1
# Links the target library to the log library
# included in the NDK.
${log-lib}
)
target_link_options(native-lib1
PRIVATE
"-Wl,--version-script=${CMAKE_SOURCE_DIR}/../../../../../../native1.map"
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.