簡體   English   中英

如何在Android上使用本機C ++中的OpenCV(使用NDK)

[英]How use OpenCV from native C++ on Android (using NDK)

我有一個使用OpenCV的android項目,我需要使用本機C ++代碼中的OpenCV。 但我有問題,配置cmake鏈接庫。 我不了解cmake,也不了解gradle。

我找到了一些建議,並試圖自己編寫CMakeLists.txt,但我沒有成功。 目前,我的CMakeLists.txt看起來像:

cmake_minimum_required(VERSION 3.4.1)
set(CMAKE_VERBOSE_MAKEFILE on)

add_library(cpp_native_code SHARED src/main/cpp/jni_interface.cpp)
# find all other source files
file ( GLOB cpp_code_files src/main/cpp/*.cpp src/main/cpp/*.hpp )
# add then to project
target_sources(cpp_native_code PUBLIC ${cpp_code_files})

find_library(log-lib log)
target_link_libraries(cpp_native_code ${log-lib})

set(path_to_opencv C:/Programs/OpenCV_Android_SDK)
include_directories(${path_to_opencv}/sdk/native/jni/include)

add_library( lib_opencv SHARED IMPORTED )
set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION 
    ${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libopencv_java3.so)
target_link_libraries( cpp_native_code lib_opencv )

當我嘗試運行我的項目時,我收到此錯誤:

Error:error: '../../../../src/main/jniLibs/arm64-v8a/libopencv_java3.so', 
needed by '../../../../build/intermediates/cmake/debug/obj/arm64-
v8a/libcpp_native_code.so', missing and no known rule to make it

我正在使用OpenCV 3.3.0。 如果需要,我在這里提供我的項目結構的屏幕截圖。 OpenCV直接從android使用。

拜托,請問有人告訴我,我做錯了嗎? 或者如果有一些信息,我沒有寫,哪個很重要。

謝謝你的建議。

看看這個項目

注意,這不是我的項目,我沒有測試它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM