0、编译环境
Mac OSX v10.11.6
Android NDK r12b
CMake 3.0.2
OpenCV 2.4.9
1、编译方法
1)新建 Terminal 窗口,使用以下命令在环境变量中加入 NDK 地址,我这里使用 android-ndk-r12b 版本:
Shell
export ANDROID_NDK=~/my-android-ndk
1exportANDROID_NDK=~/my-android-ndk
例如我的是:
Shell
export ANDROID_NDK=~/android-ndk-r12b/
1exportANDROID_NDK=~/android-ndk-r12b/
2)进入你的 OpenCV 源码路径(我的版本是 2.4.9),进入 platform/scripts 目录:
Shell
cd platforms/scripts/
1cdplatforms/scripts/
执行脚本:
Shell
sh cmake_android_arm.sh
1shcmake_android_arm.sh
PS:如果你想用 NEON 加速编译,请使用我下面的这个脚本:
cmake_android_arm_neon.sh
如果显示:
Shell
-- Configuring done
-- Generating done
1
2--Configuringdone
--Generatingdone
则 CMake 已经正确生成了 Makefile 工程。
3)编译:
进入 platforms/build_android_arm 目录:
Shell
cd ../build_android_arm/
1cd../build_android_arm/
执行 make 即可:
Shell
make
1make
等到编译完成,就可以在 platforms/build_android_arm/lib/armeabi-v7a 目录下找到编好的库了。
常见问题:
1)错误:Specified Android native API level 'android-8' is not supported by your NDK/toolchain.
更新 platforms/android/android.toolchain.cmake 为以下地址的内容(也就是 OpenCV 2.4.x 最新版本):
https://github.com/opencv/opencv/blob/2.4/platforms/android/android.toolchain.cmake