当前位置: 移动技术网 > IT编程>移动开发>Android > 在WIN10上使用cmd窗口命令编译Android OpenCV

在WIN10上使用cmd窗口命令编译Android OpenCV

2020年03月15日  | 移动技术网IT编程  | 我要评论

搓开美女衣服-妄撮,丁小雨二月三十号见,超级黑道学生下载

构建编译项目

不需要安装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:\android\sdk\cmake\3.10.2.4988404\bin\cmake.exe ^
-dcmake_toolchain_file=e:\android\sdk\ndk-bundle\build\cmake\android.toolchain.cmake ^
-dandroid_ndk=e:\android\sdk\ndk-bundle ^
-dandroid_abi="arm64-v8a" ^
-dandroid_sdk=e:\android\sdk ^
-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_401\opencv_contrib_401\modules ^
-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:\android\sdk\cmake\3.10.2.4988404\bin\ninja.exe ../

要点:

  1. e:\android\sdk\cmake\3.10.2.4988404\bin\cmake.exe,这个是直接使用android sdk中自带的cmake,没必要重新下cmake程序
  2. -dcmake_toolchain_file=e:\android\sdk\ndk-bundle\build\cmake\android.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_401\opencv_contrib_401\modules,编译extra模块

    编译与安装

    先后直线下面两个命令即可
e:\android\sdk\cmake\3.10.2.4988404\bin\ninja.exe
e:\android\sdk\cmake\3.10.2.4988404\bin\ninja.exe install

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网