opencv需要gunstl

opencv 3.4.3版本,在android studio中编译,

build.gradle 
externalNativeBuild {
cmake {
cppFlags "-std=c++11 -frtti -fexceptions"
abiFilters "arm64-v8a"
arguments '-DANDROID_STL=gnustl_shared'
//arguments "-DANDROID_ALLOW_UNDEFINED_SYMBOLS=TRUE"
}
}

 

发现找不到libgunstl_shared.so

Expected NDK STL shared object file at <NDK>/soureces/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libgunstl_shared.so

 打开ndk(版本为r18)目录下的CHANGELOG.md,有如下内容

CHANGELOG.md 
* gnustl, gabi++, and stlport have been removed.

 下载NDK r16,设置为当前工程的NDK

File --> Project Structure --> SDK Location --> Android NDK Location

 编译通过

 

坑在于:文档并没有说明OpenCV编译需要gnustl,有人是把OpenCV的库用libc++重新编译了,这个工作对于一般的库用户来说太难了。

参考:https://stackoverflow.com/questions/52410712/ndk-problems-after-gnustl-has-been-removed-from-the-ndk-revision-r18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值