环境:linux
主机: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/Linuxgit
linux下交叉编译arm平台opencv源码步骤:工具
1.在官网 https://opencv.org/ 里面的Release里选择须要的版本下载,例如本次做者选择的是OpenCV – 4.1.0gitlab
2.解压源码包:ui
unzip opencv-4.1.0spa
3.进入源码根目录:命令行
cd opencv-4.1.03d
4.建立目录:code
mkdir build_arm __install_armblog
其中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源码的一些理解,持续更新中......