我已经使用https://github.com/bashbug/pcl-for-android
的超级构建成功构建了点云库PCL已针对 armeabi-v7a ABI建立了该版本。如何为其他ABI构建?
我尝试更改pcl-build-for-android.sh
脚本,但是没有运气。我已经在脚本中更改了第一行:
#!/bin/bash
# specify the arm as abi, the api level for android kitkat as used by
# google tango and with gnustl_static the c++ support
# for more information look into the android.toolchain.cmake file
export ANDROID_ABI="arm64-v8a"
export ANDROID_NATIVE_API_LEVEL=android-19
export ANDROID_STL=gnustl_static
export ANDROID_STL_FORCE_FEATURES=ON
...
但是每次构建默认的armeabi-v7a
版本时。我已经尝试了几次清洁和重建。
有帮助吗?
答案 0 :(得分:0)
尝试将api级别修改为21,例如
export ANDROID_NATIVE_API_LEVEL=android-21
因为自api 21起,Android支持64位ABI。
答案 1 :(得分:0)
该构建脚本不适用于现代NDK,但可以使其变得很容易(如下所示)。有了它,我确实看到它是为arm64构建的,所以大概是您的问题是他们的旧cmake工具链文件中的一个错误(移动到现代NDK时,需要移动到NDK提供的文件而不是可用的存储库)。
不幸的是,存储库还存在许多其他问题(代码有些细微的错误在所有平台/编译器上都不可见,但在为Android构建时确实会显示出来)。它们似乎在很大程度上是无足轻重的。
torchtext