opencv源码交叉编译

Posted Alvin2012

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv源码交叉编译相关的知识,希望对你有一定的参考价值。

环境:

  主机:Linux alvin-Lenovo-V310-14ISK 4.13.0-46-generic #51-Ubuntu SMP Tue Jun 12 12:36:29 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

 

linux下交叉编译arm平台opencv源码步骤:

  1.在官网 https://opencv.org/ 里面的Release里选择需要的版本下载,例如本次作者选择的是OpenCV – 4.1.0

  2.解压源码包:

  unzip opencv-4.1.0

  3.进入源码根目录:

  cd opencv-4.1.0

  4.创建目录:

  mkdir build_arm __install_arm

  其中build_arm目录为编译目录,这是因为不允许编译和源文件在同一目录下,担心编译破坏了原本的源码树。__install_arm目录为安装目录

  5.执行cmake-gui命令:

  cmake-gui&

  加上&是后台运行,在弹出的GUI窗口中进行如下配置,如下图:

  其中Where is the source  code是源码的根目录,Where to build the binaries是进行编译的目录

  然后点击下方 的Configure进行配置

  选择Unix Makefiles类型的Makefile,然后选择交叉编译Specify options for cross-compiling,接着选择Next

  其中C为交叉编译的gcc,C++为交叉编译的g++,Target Root为交叉编译工具链的bin目录,其余的按如上图配置即可。最后点击Finish完成

  其中MAKE_INSTALL_PREFIX配置为前面创建的__install_arm目录即可,

  如果之前本机上没有安装过cmake-gui,需要安装cmake-gui:sudo apt-get install cmake-qt-gui

  6.进行编译:

  make

  可以根据主机cpu的核心数加入-j选项 ,缩短编译时间

  7.安装

  make install

  即会安装到__install_arm目录下

 

以上为opencv源码交叉编译的步骤

这里多说一下,其实也可以不用cmake-gui这种图形界面进行配置,如果你喜欢命令行的话也可以用cmake加上-D选项配置对应的宏,

官方wiki交叉编译在这里https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/CrossCompiling

很多开源项目的官方wiki是除了源码之外最靠谱的资料,希望大家可以多看wiki

 

后续会发布读opencv源码的一些理解,持续更新中......

以上是关于opencv源码交叉编译的主要内容,如果未能解决你的问题,请参考以下文章

交叉编译Opencv的教程——基于aarch64-linux-gnu的交叉编译器

经验分享华为海思Hi35xx系列ARM32交叉编译opencv

在linux上交叉编译opencv踩过的坑

移植opencv3.4到Nanopi NEO 交叉编译

Raspberry pi opencv 链接问题的交叉编译

text 交叉编译OpenCV3.4