如何在Android Studio的CMakeLists.txt文件中设置版本脚本文件

时间:2016-11-23 03:51:16

标签: android android-studio android-ndk cmake

我在Android Studio中有一个ndk项目,我希望通过这种方式控制导出的符号:

设置(CMAKE_SHARED_LINKER_FLAGS $ {CMAKE_SHARED_LINKER_FLAGS}“ - WI, - version-script = D:\ ProjectFolder \ export_symbols”)

设置(CMAKE_SHARED_LINKER_FLAGS $ {CMAKE_SHARED_LINKER_FLAGS}“ - WI, - version-script = export_symbols”)

此export_symbols文件与CMaleLists.txt放在一起。 问题是编译器会在链接期间报告错误并抱怨:'错误:没有这样的文件或目录'。

所以问题是如何告诉编译器我的export_symbols文件在哪里?任何建议都受到欢迎。感谢。

2 个答案:

答案 0 :(得分:1)

通过在文件名前添加${CMAKE_SOURCE_DIR}来解决。

set (CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-Wl,--version-script=" ${CMAKE_SOURCE_DIR} "/export_symbols")

答案 1 :(得分:0)

尝试下一步:

  1. 找到add_library命令。 E.g:

    add_library( ${MY_LIBRARY_NAME} SHARED main.cpp )

  2. 然后添加set_target_properties命令:

    set_target_properties( ${MY_LIBRARY_NAME} PROPERTIES LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../your_version.script)

  3. 以下是LINK_DEPENDS的简短信息。