交叉編譯opencv移植到海思3518


1.下載opencv源碼

https://www.bzblog.online/wordpress/index.php/2020/03/09/opencvdownload/

2.下載cmake-gui

在ubuntu虛擬機上安裝cmake-gui,apt-get install cmake-qt-gui,並運行cmake-gui

安裝gtk等:apt-get install libgtk2.0-dev pkg-config

3.交叉編譯opencv

3.1 導入hisi編譯器路徑

下圖為參考,我實際的是himix100。

 

 

 

CMAKE_C_FLAGS和CMAKE_CXX_FLAGS 增加-mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4

勾選Release

CMAKE_EXE_LINKER_FLAGS 增加 -lpthread -lrt -ldl

 

 

 去除with項的依賴,精簡opencv大小

 

選擇生成的靜態庫還是動態庫,這里我編譯的是靜態庫。

 

根據需要勾選依賴庫,是否編譯為一個文件

 

 

點擊Generate

 

生成后,到build路徑執行make -j8,編譯生成lib下的庫

4.精簡動態庫

將生成的libopencv_world.a鏈接到自己的代碼編譯為so后,可以使用arm-himix100-linux-strip  libxxxx.so再精簡生成的動態庫,以便在3518下可以放得下。

經過測試,增加CMAKE_C_FLAGS和CMAKE_CXX_FLAGS 增加-mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4編譯優化,可以使opencv運行時間減少一半。

移除with項依賴和選擇所需的庫,編譯成靜態庫.a文件再鏈接自己的代碼編譯成動態庫,可以大大減少生成庫的大小。

參考:

https://www.cnblogs.com/chay/p/10384942.html

https://blog.csdn.net/kaychangeek/article/details/78552418


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM