【发布时间】:2019-06-18 14:58:35
【问题描述】:
我有一个构建 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 将外部共享库复制到我的客户端文件夹?
【问题讨论】:
-
Property
LIBRARY_OUTPUT_DIRECTORY仅影响您的项目生成的库。它不会影响已经存在的 IMPORTED 库。您需要手动复制此类库。选择该问题中描述的任何方式:stackoverflow.com/questions/34799916/…。 -
感谢@Tsyvarev,文件(COPY ...)工作正常。
标签: android cmake android-ndk android-gradle-plugin