我有一个构建libMyProject1.so
的Android NDK项目,正在使用:
set_target_properties(MyProject1
PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../Client/libs/${ANDROID_ABI}")
将构建的库导出到我需要的文件夹中。
我还有另一个外部共享库可以链接到:
我的外部图书馆
add_library(MyExternal SHARED IMPORTED)
set_target_properties(MyExternal PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../MyExternal/libs/${ANDROID_ABI}/libMyExternal.so)
target_link_libraries( # Specifies the target library.
MyProject1
# Shared Dependencies
MyExternal
# Links the target library to the log library
# included in the NDK.
${log-lib})
libMyProject1.so
已复制到Client/libs/${ANDROID_ABI}
,但未复制libMyExternal.so
。如何使用cmake将外部共享库复制到我的客户端文件夹? 最佳答案
如评论中所建议,以下对我有用:
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/../MyExternal/libs/${ANDROID_ABI}/libMyExternal.so
DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/../Client/libs/${ANDROID_ABI})