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的交叉编译器