opencv:对`cv :: DescriptorMatcher‘的未定义引用

ndk版本和opencv产生冲突解决方式

一、

1、opencv3及以下的版本仅仅支持gnustl_shared编译,但是NDK16之后就不支持gnustl_shared的编译了,所以这就到了一个十字路口。要你就使用低于16版本的NDK,要么就是用opencv4,
2、下图是我编译的错误-match匹配器连接失败
这是编译opencv的match函数的错误

3、新版本NDK使用libc++作为STL,但OpenCV使用的gnustl。
所以:

1、NDK降级
重新编译OpenCV 使用libc++作为STL
2、重新编译OpenCV 使用libc++作为STL

我采用的是NDK降级

二、NDK降级步骤

1 、需要下载一个ndk15版本,给你们提供一个链接,里面有各个版本。(https://blog.csdn.net/shuzfan/article/details/52690554)
2、下载完毕后需要解压文件,并解压到Android Studio的SDK目录里,并命名为ndk-bundle,我的路径为:D:\InstallPackage\Package\androidSDK\ndk-bundle
3、 配置变量
我的电脑----属性-----高级—环境变量----系统变量----path添加自己安装NDK的路径
4 、测试是否成功
cmd下输入 ndk-build

显示的: Could not find application project directory ! 可以不用管,因为你没有使用在一个 Android 项目上使用,它找不到 Android 项目。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值