使用cmake for android构建多个.a文件的库[cmake无法确定目标的链接器语言]
我使用这个示例代码作为指导 从本文档中,我可以使用多个来源: 在我使用之前,但看起来不需要 我得到一个错误使用cmake for android构建多个.a文件的库[cmake无法确定目标的链接器语言],android,c++,cmake,Android,C++,Cmake,我使用这个示例代码作为指导 从本文档中,我可以使用多个来源: 在我使用之前,但看起来不需要 我得到一个错误CMake错误:CMake无法确定target:lib_llsdk的链接器语言,但是这个关于这个错误的问题没有帮助 这是我的cmake代码: cmake_minimum_required(VERSION 3.4.1) set(distribution_DIR ${CMAKE_SOURCE_DIR}/../llsdk) add_library(lib_llsdk STATIC ${distr
CMake错误:CMake无法确定target:lib_llsdk的链接器语言
,但是这个关于这个错误的问题没有帮助
这是我的cmake代码:
cmake_minimum_required(VERSION 3.4.1)
set(distribution_DIR ${CMAKE_SOURCE_DIR}/../llsdk)
add_library(lib_llsdk STATIC
${distribution_DIR}/libs/${ANDROID_ABI}/libins-sdk-simple-filter- marker.a
${distribution_DIR}/libs/${ANDROID_ABI}/libopencv_aruco.a
${distribution_DIR}/libs/${ANDROID_ABI}/libopencv_calib3d.a
${distribution_DIR}/libs/${ANDROID_ABI}/libopencv_core.a
${distribution_DIR}/libs/${ANDROID_ABI}/libopencv_features2d.a
${distribution_DIR}/libs/${ANDROID_ABI}/libopencv_img_hash.a
${distribution_DIR}/libs/${ANDROID_ABI}/libopencv_imgproc.a
${distribution_DIR}/libs/${ANDROID_ABI}/libz.a)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
add_library( native-lib
SHARED
src/main/cpp/native-lib.cpp )
target_include_directories(native-lib PRIVATE
${distribution_DIR}/include)
target_link_libraries(
native-lib
android
lib_lls
log)
只需拆分并使用set_target_属性
cmake_minimum_required(VERSION 3.4.1)
set(distribution_DIR ${CMAKE_SOURCE_DIR}/../llsdk)
add_library(lib_llsdk_1 STATIC IMPORTED)
set_target_properties(lib_llsdk_1 PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libs/${ANDROID_ABI}/libins-sdk-simple-filter-marker.a)
add_library(lib_llsdk_2 STATIC IMPORTED)
set_target_properties(lib_llsdk_2 PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libs/${ANDROID_ABI}/libopencv_aruco.a)
add_library(lib_llsdk_3 STATIC IMPORTED)
set_target_properties(lib_llsdk_3 PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libs/${ANDROID_ABI}/libopencv_calib3d.a)
add_library(lib_llsdk_4 STATIC IMPORTED)
set_target_properties(lib_llsdk_4 PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libs/${ANDROID_ABI}/libopencv_core.a)
add_library(lib_llsdk_5 STATIC IMPORTED)
set_target_properties(lib_llsdk_5 PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libs/${ANDROID_ABI}/libopencv_features2d.a)
add_library(lib_llsdk_6 STATIC IMPORTED)
set_target_properties(lib_llsdk_6 PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libs/${ANDROID_ABI}/libopencv_img_hash.a)
add_library(lib_llsdk_7 STATIC IMPORTED)
set_target_properties(lib_llsdk_7 PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libs/${ANDROID_ABI}/libopencv_imgproc.a)
add_library(lib_llsdk_8 STATIC IMPORTED)
set_target_properties(lib_llsdk_8 PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libs/${ANDROID_ABI}/libz.a)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
add_library(
native-lib
SHARED
src/main/cpp/native-lib.cpp )
target_include_directories(native-lib PRIVATE
${distribution_DIR}/include)
target_link_libraries(
native-lib
android
lib_llsdk_1
lib_llsdk_2
lib_llsdk_3
lib_llsdk_4
lib_llsdk_5
lib_llsdk_6
lib_llsdk_7
lib_llsdk_8
log)