環境: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源碼的一些理解,持續更新中......