首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Opencv 4.1.1 Android链接错误

Opencv 4.1.1 Android链接错误
EN

Stack Overflow用户
提问于 2019-08-09 14:29:31
回答 1查看 321关注 0票数 4

我有一个用c++编写的应用程序,它使用OpenCV和Android。目前我们正在使用OpenCV 3.2.0,但是我们需要迁移到OpenCV 4.1.1。我正在尝试用更少的模块来构建不同的体系结构。

我正在使用Opencv 4.1.1;ndk 16b;cmake 3.13.2

这是命令行

代码语言:javascript
运行
AI代码解释
复制
cmake \ -DANDROID_ABI:STRING=$currentArch \ -DANDROID_TOOLCHAIN_NAME:STRING=$currentArchVersion \ -D ANDROID_NDK:PATH="/Users/analivia/Library/Android/sdk/ndk-bundle" \ -D ANDROID_NDK_HOST_X64:BOOL="1" \ -D ANDROID_NATIVE_API_LEVEL=24 \ -D ANDROID_TOOLCHAIN=clang \ -D ANDROID_STL=c++_static \ -D CMAKE_TOOLCHAIN_FILE:FILEPATH="/Users/analivia/Library/Android/sdk/ndk-bundle/build/cmake/android.toolchain.cmake" \ -D CMAKE_CXX_FLAGS_MINSIZEREL:STRING="-Os -ffunction-sections -fdata-sections -Wl,--gc-sections -D NDEBUG" \ -D CMAKE_CXX_FLAGS_RELEASE:STRING="-Os -ffunction-sections -fdata-sections -Wl,--gc-sections -D NDEBUG" \ -D CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="-Os -g -D NDEBUG" \ -D CMAKE_C_FLAGS_RELEASE:STRING="-Os -ffunction-sections -fdata-sections -Wl,--gc-sections -D NDEBUG" \ -D BUILD_ANDROID_EXAMPLES:BOOL="0" \ -D BUILD_opencv_video:BOOL="0" \ -D BUILD_WITH_DEBUG_INFO:BOOL="0" \ -D WITH_JASPER:BOOL="0" \ -D WITH_JPEG:BOOL="1" \ -D BUILD_opencv_photo:BOOL="0" \ -D BUILD_opencv_videoio:BOOL="0" \ -D BUILD_opencv_ts:BOOL="0" \ -D WITH_CAROTENE:BOOL="0" \ -D BUILD_opencv_stitching:BOOL="0" \ -D CMAKE_C_FLAGS:STRING="" \ -D BUILD_FAT_JAVA_LIB:BOOL="0" \ -D BUILD_OPENEXR:BOOL="0" \ -D BUILD_PERF_TESTS:BOOL="0" \ -D BUILD_opencv_videostab:BOOL="0" \ -D WITH_EIGEN:BOOL="0" \ -D BUILD_JASPER:BOOL="0" \ -D WITH_TBB:BOOL="1" \ -D WITH_IPP:BOOL="0" \ -D WITH_WEBP:BOOL="0" \ -D BUILD_opencv_superres:BOOL="0" \ -D BUILD_opencv_shape:BOOL="0" \ -D BUILD_opencv_dnn:BOOL="1" \ -D BUILD_PACKAGE:BOOL="0" \ -D BUILD_TESTS:BOOL="0" \ -D WITH_OPENEXR:BOOL="0" \ -D WITH_CUDA:BOOL="0" \ -D WITH_CUFFT:BOOL="0" \ -D BUILD_PNG:BOOL="1" \ -D BUILD_JPEG:BOOL="1" \ -D BUILD_DOCS:BOOL="0" \ -D BUILD_TIFF:BOOL="0" \ -D WITH_PNG:BOOL="1" \ $opencvSource

我加入了Android项目,但是我得到了许多关于opencv函数的未定义的引用。

Android使用cmake 3.10.2

示例:

代码语言:javascript
运行
AI代码解释
复制
error: undefined reference to 'cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)' error: undefined reference to 'cv::extractChannel(cv::_InputArray const&, cv::_OutputArray const&, int)' error: undefined reference to 'cv::Mat::copyTo(cv::_OutputArray const&) const'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-19 09:26:13

最后,我使用gcc作为编译器,gnustatic作为STL和opencv的工具链。这是最后的命令

代码语言:javascript
运行
AI代码解释
复制
cmake \
    -DANDROID_ABI:STRING=$currentArch \
    -DANDROID_TOOLCHAIN_NAME:STRING=$currentArchVersion \
    -D ANDROID_NDK:PATH="/Users/analivia/Library/Android/sdk/ndk-bundle" \
    -D ANDROID_NDK_HOST_X64:BOOL="1" \
    -D ANDROID_NATIVE_API_LEVEL=24 \
    -D ANDROID_SDK_ROOT:PATH="/Users/analivia/Library/Android/sdk" \
    -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$opencvSource/platforms/android/android.toolchain.cmake" \
    -D CMAKE_CXX_FLAGS_MINSIZEREL:STRING="-Os -ffunction-sections -fdata-sections -Wl,--gc-sections -D NDEBUG" \
    -D CMAKE_CXX_FLAGS_RELEASE:STRING="-Os -ffunction-sections -fdata-sections -Wl,--gc-sections -D NDEBUG" \
    -D CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="-Os -g -D NDEBUG" \
    -D CMAKE_C_FLAGS_RELEASE:STRING="-Os -ffunction-sections -fdata-sections -Wl,--gc-sections -D NDEBUG" \
    -D BUILD_ANDROID_EXAMPLES:BOOL="0" \
    -D BUILD_opencv_video:BOOL="0" \
    -D BUILD_WITH_DEBUG_INFO:BOOL="0" \
    -D WITH_JASPER:BOOL="0" \
    -D WITH_JPEG:BOOL="1" \
    -D BUILD_opencv_photo:BOOL="0" \
    -D BUILD_opencv_videoio:BOOL="0" \
    -D BUILD_opencv_ts:BOOL="0" \
    -D WITH_CAROTENE:BOOL="0" \
    -D BUILD_opencv_stitching:BOOL="0" \
    -D CMAKE_C_FLAGS:STRING="" \
    -D BUILD_FAT_JAVA_LIB:BOOL="1" \
    -D BUILD_OPENEXR:BOOL="0" \
    -D BUILD_PERF_TESTS:BOOL="0" \
    -D BUILD_opencv_videostab:BOOL="0" \
    -D WITH_EIGEN:BOOL="0" \
    -D BUILD_JASPER:BOOL="0" \
    -D WITH_TBB:BOOL="1" \
    -D WITH_IPP:BOOL="0" \
    -D WITH_WEBP:BOOL="0" \
    -D BUILD_opencv_superres:BOOL="0" \
    -D BUILD_opencv_shape:BOOL="0" \
    -D BUILD_PACKAGE:BOOL="0" \
    -D BUILD_TESTS:BOOL="0" \
    -D WITH_OPENEXR:BOOL="0" \
    -D WITH_CUDA:BOOL="0" \
    -D WITH_CUFFT:BOOL="0" \
    -D BUILD_PNG:BOOL="1" \
    -D BUILD_JPEG:BOOL="1" \
    -D BUILD_DOCS:BOOL="0" \
    -D BUILD_TIFF:BOOL="0" \
    -D WITH_PNG:BOOL="1" \
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57437790

复制
相关文章
Tess4j maven demo[通俗易懂]
tess4j 实现文字识别Demo,下面为内容实现源码,内容仅为一个demo,demo下载地址:tess4jDemo
全栈程序员站长
2022/07/01
4280
SonarQube 的安装、配置及 Maven 项目的使用
哎_小羊
2018/01/02
9.8K0
SonarQube 的安装、配置及 Maven 项目的使用
maven如何指定项目的jdk版本(使用maven-compiler-plugin)
在pom.xml中可以通过maven标准编译插件(maven-compiler-plugin)指定项目源代码、字节码的jdk版本
青山师
2023/05/04
2.3K0
maven如何指定项目的jdk版本(使用maven-compiler-plugin)
tess4J 安装使用
参考 https://blog.csdn.net/gs80140/article/details/103938651
全栈程序员站长
2022/08/10
1.7K0
tess4J 安装使用
tess4j正确的使用 OCR
在官网上下载下来的 tess4j 的zip,初见时看的云里雾里的,原以为是个jar,直接引用就好了,结果竟是个zip。网上查一下用法,各种说法,各种菜,全是误导,自己不懂就敢瞎说…
全栈程序员站长
2022/09/01
1.1K0
maven学习系列——(三)maven项目的创建
这一篇大概会整理和总结到有如下知识点: (1):maven的使用入门一些命令 (2):用命令创建项目 (3):使用IDE集成工具创建项目–Eclipse和idea
全栈程序员站长
2022/07/19
2180
Maven聚合项目的创建
点击next修改名称完成构建 这里我们把a-first当做启动项目,需要在maven中加入:
Dream城堡
2019/06/04
6100
Maven聚合项目的创建
IDEA maven 项目的打包
1.在maven projects区域 先clean 然后package这样就OK了
编程那点事
2023/02/25
6200
linux tesseract 安装及部署tess4j项目的常见问题
在windows上项目是可以正常运行的,部署到Linux上后,运行报异常,异常内容为:Unable to load library ‘tesseract’: Native library (linux-x86-64/libtesseract)
Java架构师历程
2018/09/26
4.5K0
linux tesseract 安装及部署tess4j项目的常见问题
maven 解包依赖项中的文件
使用goal:unpack-dependencies 在配置参数includeArtifactIds中指定要解包的模块制件ID
路过君
2022/07/20
2.5K0
eclipse导入maven项目的设置
Windows-preference-maven-user settings,更改为自己安装的maven目录下的设置文件。 conf-settings.
全栈程序员站长
2022/09/01
6290
eclipse导入maven项目的设置
eclipse使用maven创建web3.0项目
默认情况下,使用maven骨架撞见的webapp只支持servlet2.3,eclipse又不允许随便修改为3.0。
pollyduan
2019/11/04
6390
谈一谈|使用Idea打开Maven项目的正确姿势
在学习网上大神们的源码过程中,经常有一些打包好的项目可以提供给自己参考学习,其中不乏一些maven项目,因为自己使用的开发环境是Idea+Gradle。对于Maven虽有耳闻,但是接触得比较少,刚好最近在学习一个maven项目,就把idea打开maven项目的步骤和其中遇到的一些问题的解决办法整理一下
算法与编程之美
2019/07/17
13.3K0
谈一谈|使用Idea打开Maven项目的正确姿势
图像文字识别(四):java调用tess4j识别图像文字
Tesseract-OCR支持中文识别,并且开源和提供全套的训练工具,是快速低成本开发的首选。前面记录过在java中调用tesseract-orc,该方法的原理是通过在java中调用cmd命令行,来执行tesseract,但是该方式需要下载软件,在电脑上安装环境,移植性不高。
全栈程序员站长
2022/06/29
5.4K0
图像文字识别(四):java调用tess4j识别图像文字
java tess4j 示例_java 使用tess4j实现OCR的最简单样例[通俗易懂]
网上很多教程没有介绍清楚tessdata的位置,以及怎么配置,并且对中文库的描述也存在问题,这里介绍一个最简单的样例。
全栈程序员站长
2022/08/27
8550
java tess4j 示例_java 使用tess4j实现OCR的最简单样例[通俗易懂]
IntelliJ IDEA Maven 项目的依赖分析
在这个标签页中,我们可以看到我们项目中导入的依赖有哪些冲突,并且这些冲突是怎么冲突的。
HoneyMoose
2023/10/12
2930
IntelliJ IDEA Maven 项目的依赖分析
Tess4J 简单使用入门[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132239.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/30
2.1K1
Tess4J 简单使用入门[通俗易懂]
maven的使用教程_maven使用教程
maven是什么 以 java源文件,框架配置文件,jsp,html,图片等资源为 原材料,去生产一个可以运行的项目的过程
全栈程序员站长
2022/09/21
1.4K0
maven的使用教程_maven使用教程
SpringBoot 项目的 Maven 多环境打包配置
1. 在pom.xml文件中配置 <profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <activatedProperties>dev</activatedProperties> </properties> </profile> <profile> <id>test</id> <prop
北漂的我
2020/10/26
1.8K0
SpringBoot 项目的 Maven 多环境打包配置
点击加载更多

相似问题

NoSuchFieldError:在Eclipse中使用Tess4J时的RESOURCE_PREFIX

12

玻璃鱼中的Tess4j ERROR:java.lang.NoSuchFieldError: RESOURCE_PREFIX

36

使用maven的项目的JBOSS依赖项

50

maven项目的依赖项

12

Maven-java.lang.NoSuchFieldError:使用Appium测试的实例

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档