android开发分享在WIN10上使用cmd窗口命令编译Android OpenCV

构建编译项目 不需要安装CMake,MinGW等额外工具。只需要Android NDK和OpenCV源码 。 在WIN10上使用cmd窗口命令编译OpenCV步骤,操作版本为4.0.1: 1. 在OpenCV根目录下面新建一个文件夹,比如叫做build_cmd。因为OpenCV要求 不和 是同一个文 …


构建编译项目

不需要安装cmake,mingw等额外工具。只需要android ndk和opencv源码
在win10上使用cmd窗口命令编译opencv步骤,操作版本为4.0.1:

  1. 在opencv根目录下面新建一个文件夹,比如叫做build_cmd。因为opencv要求cmake_binary_dir不和cmake_source_dir是同一个文件夹,所以不能在根目录下直接执行cmake
  2. cd到build_cmd
  3. 执行如下命令,路径对应修改
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 ../

要点:

  1. e:androidsdkcmake3.10.2.4988404bincmake.exe,这个是直接使用android sdk中自带的cmake,没必要重新下cmake程序
  2. -dcmake_toolchain_file=e:androidsdkndk-bundlebuildcmakeandroid.toolchain.cmake,这个需要指定为android sdk中的ndk中自带的文件,否则,可能会遇到ndk版本不对或者找不到toolchain文件的错误。
  3. -dandroid_abi="arm64-v8a",这个千万不能忘记
  4. -g "ninja":最近的版本开始,android sdk自带的cmake已经没有之前的android - gradle这个生成方式了,所以转而选择ninja。不要去选择mingw makefiles之类的,因为那样的话,需要重新下载其他,而andoird sdk中自带ninja编译
  5. -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".错误。
  6. -dcpu_baseline=neon -dcpu_dispatch=neon,开启neon优化。enable_neon是个没用的参数,就算define了,也会显示no help, variable specified on the command line
  7. build_java=off,不编译java相关的
  8. build_opencv_world=on,把opencv编译到一个world库,减少库的数量。按需设置。
  9. opencv_enable_nonfree=on,编译非免费算法。按需设置。
  10. 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

(0)
上一篇 2021年10月23日
下一篇 2021年10月23日

精彩推荐