我想使用此CmakeLists.txt片段导入预构建的库:
add_library(openssl-crypto
SHARED
IMPORTED )
set_target_properties(openssl-crypto
PROPERTIES
IMPORTED_LOCATION
${external_DIR}/libs/${ANDROID_ABI}/libcrypto.so )
include_directories(${external_DIR}/include/openssl)
Run Code Online (Sandbox Code Playgroud)
我把这个链接到我的图书馆:
target_link_libraries(aes-crypto openssl-crypto)
尝试构建会返回此错误:
'/libs/arm64-v8a/libcrypto.so', needed by ..., missing and no known rule to make it
Run Code Online (Sandbox Code Playgroud)
Nat*_* F. 24
我发现该set_target_properties函数不喜欢相对路径.
IMPORTED目标的磁盘主文件的完整路径.
要解决此问题,我使用了库的完整路径.
例:
set_target_properties ( curl-lib
PROPERTIES IMPORTED_LOCATION
libs/${ANDROID_ABI}/libcurl.a )
. . . becomes . . .
set_target_properties ( curl-lib
PROPERTIES IMPORTED_LOCATION
${PROJECT_SOURCE_DIR}/src/main/cpp/libs/${ANDROID_ABI}/libcurl.a )
Run Code Online (Sandbox Code Playgroud)