构建编译项目
不需要安装cmake,mingw等额外工具。只需要android ndk和opencv源码。
在win10上使用cmd窗口命令编译opencv步骤,操作版本为4.0.1:
- 在opencv根目录下面新建一个文件夹,比如叫做build_cmd。因为opencv要求
cmake_binary_dir
不和cmake_source_dir
是同一个文件夹,所以不能在根目录下直接执行cmake - cd到build_cmd
- 执行如下命令,路径对应修改
e:androidsdkcmake3.10.2.4988404bincmake.exe ^ -dcmake_toolchain_file=e:androidsdkndk-bundlebuildcmakeandroid.toolchain.cmake ^ -dandroid_ndk=e:androidsdkndk-bundle ^ -dandroid_abi="arm64-v8a" ^ -dandroid_sdk=e:androidsdk ^ -dwith_tbb=on ^ -dcpu_baseline=neon ^ -dcpu_dispatch=neon ^ -dopencv_enable_nonfree=on ^ -dbuild_android_examples=off ^ -dbuild_android_projects=off ^ -dinstall_android_examples=off ^ -dandroid_native_api_level=21 ^ -dopencv_extra_modules_path=f:opencv_401opencv_contrib_401modules ^ -dcmake_cxx_flags:string=-o3 ^ -dcmake_c_flags:string=-o3 ^ -dcmake_build_type:string=release ^ -dbuild_java=off ^ -dbuild_opencv_world=on ^ -g "ninja" ^ -dcmake_make_program=e:androidsdkcmake3.10.2.4988404binninja.exe ../
要点:
e:androidsdkcmake3.10.2.4988404bincmake.exe
,这个是直接使用android sdk中自带的cmake,没必要重新下cmake程序-dcmake_toolchain_file=e:androidsdkndk-bundlebuildcmakeandroid.toolchain.cmake
,这个需要指定为android sdk中的ndk中自带的文件,否则,可能会遇到ndk版本不对或者找不到toolchain文件的错误。-dandroid_abi="arm64-v8a"
,这个千万不能忘记-g "ninja"
:最近的版本开始,android sdk自带的cmake已经没有之前的android - gradle
这个生成方式了,所以转而选择ninja
。不要去选择mingw makefiles
之类的,因为那样的话,需要重新下载其他,而andoird sdk中自带ninja编译-dbuild_android_examples=off -dbuild_android_projects=off -dinstall_android_examples=off
,不用编译examples,浪费时间。同时可以避免cmake error at samples/android/15-puzzle/cmakelists.txt:3 (add_android_project): unknown cmake command "add_android_project".
错误。-dcpu_baseline=neon -dcpu_dispatch=neon
,开启neon优化。enable_neon
是个没用的参数,就算define了,也会显示no help, variable specified on the command line
build_java=off
,不编译java相关的build_opencv_world=on
,把opencv编译到一个world库,减少库的数量。按需设置。opencv_enable_nonfree=on
,编译非免费算法。按需设置。-
opencv_extra_modules_path=f:opencv_401opencv_contrib_401modules
,编译extra模块编译与安装
先后直线下面两个命令即可
e:androidsdkcmake3.10.2.4988404binninja.exe e:androidsdkcmake3.10.2.4988404binninja.exe install
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/addevelopment/899286.html