繁体   English   中英

Cmake 错误:set_target_properties 找不到目标以将属性添加到:lib_opencv

[英]Cmake error : set_target_properties Can not find target to add properties to: lib_opencv

我在我的 cmake ndk 项目中绑定使用日志进行调试,但是当我尝试添加 log-lib 库时,它会在编译时出现错误:

CMake Error at CMakeLists.txt:21 (set_target_properties):
    set_target_properties Can not find target to add properties to: lib_opencv

如果我删除set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libopencv_java4.so) ,它将成功编译。

我的 cmakelist:

cmake_minimum_required(VERSION 3.10.2)
project(OPENcv_app)

include_directories(../include)

# opencv
set(OpenCV_STATIC ON)

set(OpenCV_DIR c:/tools/OpenCV-android-sdk/sdk/native/jni)
find_package(OpenCV REQUIRED)

add_library( # Sets the name of the library.
    native_opencv SHARED
    lib_opencv SHARED IMPORTED

    # Provides a relative path to your source file(s).
    ../ios/Classes/ArucoDetector/ArucoDetector.cpp
    ../ios/Classes/native_opencv.cpp
)

set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libopencv_java4.so)

target_include_directories(
    native_opencv PRIVATE
    ../ios/Classes/ArucoDetector
)

find_library(log-lib log)

target_link_libraries( # Specifies the target library.
    native_opencv
    ${OpenCV_LIBS}
    lib_opencv
    ${log-lib}
)

一个库不能同时被导入和非导入,并且您不能使用相同的add_library命令声明 2 个目标。 您需要将它们分开:

# create native_opencv target built as part of this project
add_library(native_opencv SHARED

    # Provides a relative path to your source file(s).
    ../ios/Classes/ArucoDetector/ArucoDetector.cpp
    ../ios/Classes/native_opencv.cpp
)

# create imported library lib_opencv
add_library(lib_opencv SHARED IMPORTED)
set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libopencv_java4.so)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM