gom*_*ons 5 c++ opencv android-ndk
我从GitHub下载了OpenCV 2.4.13版本。然后,我使用CMake-gui为android配置了CMake项目。
有一个名为ANDROID_ABI的变量,我可以使用下拉列表为其选择值。但是在此列表中,我只能选择armeabi,带VFP的armeabi-v6,带NEON的armeabi-v7a,带VFPV3的armeabi-v7a。
我可以使用CMake控制台为arm64配置和生成项目,也可以修改cmake脚本并手动列出。但是,当我尝试生成生成的项目时,出现错误unknown type name '__uint128_t'__uint128_t
。因此,我认为有一些原因导致我无法从下拉列表中选择此变体。
如何选择arm64变体进行构建,为什么会出现此类错误?
您的工具链似乎没有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
Run Code Online (Sandbox Code Playgroud)
https://developer.android.com/ndk/guides/standalone_toolchain.html?hl=es
不要忘记在 cmake android 选项上将 android_native_level 设置为 21 (android 5.0.1),因为在具有 android 5 或更高版本的设备上完成了 64 位支持。