笔记4

本文介绍如何使用CMake进行配置,并链接多个版本的OpenCV库文件及其它相关库,实现跨平台项目的构建。文章详细展示了针对不同ABI的目标库导入过程,以及最终将这些库链接到主项目的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cmake_minimum_required(VERSION 3.6)
set(CMAKE_VERBOSE_MAKEFILE on)
set(libs "${CMAKE_SOURCE_DIR}/src/main/jniLibs")
include_directories(${CMAKE_SOURCE_DIR}/src/main/cpp/include)
#--------------------------------------------------- import ---------------------------------------------------#
add_library(libnative_camera_r2.2.0 SHARED IMPORTED )
set_target_properties(libnative_camera_r2.2.0 PROPERTIES
    IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libnative_camera_r2.2.0.so")
add_library(libnative_camera_r2.3.3 SHARED IMPORTED )
set_target_properties(libnative_camera_r2.3.3 PROPERTIES
    IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libnative_camera_r2.3.3.so")
add_library(libnative_camera_r3.0.1 SHARED IMPORTED )
set_target_properties(libnative_camera_r3.0.1 PROPERTIES
     IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libnative_camera_r3.0.1.so")
add_library(libnative_camera_r4.0.0 SHARED IMPORTED )
set_target_properties(libnative_camera_r4.0.0 PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libnative_camera_r4.0.0.so")
add_library(libnative_camera_r4.2.0 SHARED IMPORTED )
set_target_properties(libnative_camera_r4.2.0 PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libnative_camera_r4.2.0.so")
add_library(libnative_camera_r4.3.0 SHARED IMPORTED )
set_target_properties(libnative_camera_r4.3.0 PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libnative_camera_r4.3.0.so")
add_library(libnative_camera_r4.4.0 SHARED IMPORTED )
set_target_properties(libnative_camera_r4.4.0 PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libnative_camera_r4.4.0.so")
add_library(libnative_camera_r4.0.3 SHARED IMPORTED )
set_target_properties(libnative_camera_r4.0.3 PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libnative_camera_r4.0.3.so")
add_library(libnative_camera_r4.1.1 SHARED IMPORTED )
set_target_properties(libnative_camera_r4.1.1 PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libnative_camera_r4.1.1.so")
add_library(libopencv_info SHARED IMPORTED )
set_target_properties(libopencv_info PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_info.so")
add_library(libopencv_java SHARED IMPORTED )
set_target_properties(libopencv_java PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_java.so")
add_library(libopencv_androidcamera STATIC IMPORTED )
set_target_properties(libopencv_androidcamera PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_androidcamera.a")
add_library(libopencv_calib3d STATIC IMPORTED )
set_target_properties(libopencv_calib3d PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_calib3d.a")
add_library(libopencv_core STATIC IMPORTED )
set_target_properties(libopencv_core PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_core.a")
add_library(libopencv_features2d STATIC IMPORTED
set_target_properties(libopencv_features2d PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_features2d.a")
add_library(libopencv_flann STATIC IMPORTED )
set_target_properties(libopencv_flann PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_flann.a")
add_library(libopencv_highgui STATIC IMPORTED )
set_target_properties(libopencv_highgui PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_highgui.a")
add_library(libopencv_imgproc STATIC IMPORTED )
set_target_properties(libopencv_imgproc PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_imgproc.a")
add_library(libopencv_legacy STATIC IMPORTED )
set_target_properties(libopencv_legacy PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_legacy.a")
add_library(libopencv_ml STATIC IMPORTED )
set_target_properties(libopencv_ml PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_ml.a")
add_library(libopencv_objdetect STATIC IMPORTED )
set_target_properties(libopencv_objdetect PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_objdetect.a")
add_library(libopencv_ocl STATIC IMPORTED )
set_target_properties(libopencv_ocl PROPERTIES
IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_ocl.a")
add_library(libopencv_photo STATIC IMPORTED )
set_target_properties(libopencv_photo PROPERTIES IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_photo.a")
add_library(libopencv_stitching STATIC IMPORTED )
set_target_properties(libopencv_stitching PROPERTIES IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_stitching.a")
add_library(libopencv_superres STATIC IMPORTED )
set_target_properties(libopencv_superres PROPERTIES IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_superres.a")
add_library(libopencv_ts STATIC IMPORTED )
set_target_properties(libopencv_ts PROPERTIES IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_ts.a")
add_library(libopencv_video STATIC IMPORTED )
set_target_properties(libopencv_video PROPERTIES IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_video.a")
add_library(libopencv_videostab STATIC IMPORTED )
set_target_properties(libopencv_videostab PROPERTIES IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_videostab.a")
add_library(  native-lib
             SHARED
             src/main/cpp/native-lib.cpp )
find_library( log-lib
              log )

target_link_libraries( libopencv_java libopencv_info libnative_camera_r4.4.0 libnative_camera_r4.3.0 libnative_camera_r4.2.0 libnative_camera_r4.1.1
libnative_camera_r4.0.3 libnative_camera_r4.0.0 libnative_camera_r3.0.1 libnative_camera_r2.3.3 libnative_camera_r2.2.0
native-lib android log libopencv_androidcamera libopencv_calib3d libopencv_core libopencv_features2d libopencv_flann libopencv_highgui
                       libopencv_imgproc
                      libopencv_legacy libopencv_ml libopencv_objdetect libopencv_ocl libopencv_photo libopencv_stitching libopencv_superres
                      libopencv_ts libopencv_video libopencv_videostab
                                  ${log-lib}  )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值