java - android opencv 3.4.1 构建命令失败。未定义的引用
问题描述
我正在尝试使用stitching.hpp中的opencv cpp方法Stitcher,但我仍然收到错误。看起来我没有函数定义,但不知道为什么。我设置了我的 CMakeList.txt:
set(pathToProject C:/Users/Filip/AndroidStudioProjects/PanoStich)
set(pathToOpenCV C:/Users/Filip/Downloads/OpenCV-android-sdk)
cmake_minimum_required(VERSION 3.4.1)
set(CMAKE_VERBOSE_MAKEFILE on)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11 -v")
include_directories(${pathToOpenCV}/sdk/native/jni/include/)
add_library(
native-lib
SHARED
src/main/cpp/native-lib.cpp )
add_library( lib_opencv SHARED IMPORTED )
set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION ${pathToProject}/app/src/main/jniLibs/${ANDROID_ABI}/libopencv_java3.so)
find_library(
log-lib
log )
target_link_libraries(
native-lib
lib_opencv
$\{log-lib} )
我得到的错误在下面的图片上
工作站:Macbook Pro、Virtual Windows 64b、Android Studio、Opencv4Mobile 3.4.1
解决方案
这是从 3.4.1 开始的 opencv for android 中的一个已知问题。这是由于没有为拼接模块构建 java 包装器。即使在 3.4.3 中也存在此问题。我能找到的唯一解决方案是为 android 构建 opencv。下载源代码后,在 opencv _src_dir/modules/stitching 下找到 CMakeList.txt 并将 java 添加到 WRAP。
opencv 问题 - https://github.com/opencv/opencv/issues/11595
我仍在为 android 构建 opencv 的过程中。如果您找到任何其他解决方案,请告诉我们。
推荐阅读
- mysql - MariaDB 内存不足
- r - 随机森林(rfsrc 包):多变量分析
- javascript - React 上下文装饰器/订阅者?
- javascript - javascript中的数组长度不正确
- php - 模型 -> 软删除
- perl - 如何验证自签名证书?
- javascript - 需要 MapBox GL 访问令牌
- ruby-on-rails - HTTP Origin 标头 (https://example.com) 与 request.base_url (http://example.com) rails 不匹配
- excel - Excel 数据透视表,行中有许多列标题
- jsf - h:使用 FullAjaxExceptionHandler 时未插入输出样式表