我在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文件在哪里?任何建议都受到欢迎。感谢。
答案 0 :(得分:1)
通过在文件名前添加${CMAKE_SOURCE_DIR}
来解决。
set (CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-Wl,--version-script=" ${CMAKE_SOURCE_DIR} "/export_symbols")
答案 1 :(得分:0)
尝试下一步:
找到add_library
命令。 E.g:
add_library( ${MY_LIBRARY_NAME} SHARED main.cpp )
然后添加set_target_properties
命令:
set_target_properties( ${MY_LIBRARY_NAME} PROPERTIES LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../your_version.script)
以下是LINK_DEPENDS的简短信息。