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