OpenCV ANDROID_ABI:并非显示所有变体

时间:2016-05-30 17:05:44

标签: c++ opencv android-ndk

我从GitHub下载了OpenCV 2.4.13版本。然后我使用CMake-gui为android配置了CMake项目。

有一个名为ANDROID_ABI的变量,我可以使用下拉列表为它选择值。但是在这个列表中我只能选择armeabi,armeabi-v6和VFP,armeabi-v7a,armeabi-v7a和NEON,armeabi-v7a和VFPV3。

我可以使用CMake控制台为arm64配置和生成项目,或者我可以修改cmake脚本并手动列出它。但是当我尝试构建生成的项目时,我收到错误unknown type name '__uint128_t'__uint128_t。所以我认为有理由不能从下拉列表中选择此变体。

如何为构建选择arm64变体以及为什么会出现这种错误?

1 个答案:

答案 0 :(得分:3)

看来你的工具链,没有armv8 64位选项。 但是有一个新的opencv 3.0版本,可能你的uint错误将被修复:

http://opencv.org/downloads.html

如果您的工具链不支持64位,您可以为arm64创建自己的工具链。

$NDK/build/tools/make-standalone-toolchain.sh \
--arch=arm --platform=android-21 --install-dir=/tmp/my-android-toolchain

https://developer.android.com/ndk/guides/standalone_toolchain.html?hl=es

不要忘记在cmake android选项中将android_native_level放在21(android 5.0.1)中,因为64位支持在具有android 5或更高版本的设备上完成。