OpenCV交叉編譯

2021-07-09 09:22:08 字數 1751 閱讀 1645

參考幾篇部落格

1.交叉編譯opencv2.31與移植至arm9:

2.編譯opencv:

3.交叉編譯opencv2.3.1:

這裡的2.4.10是opencv的版本號;(不過後來感覺這裡應該填目標機,即arm的linux版本號)

(一說processor這裡可以填上arm)上面這兩個括號中的內容都沒有驗證^-^

compilers選項下的c和c++分別對應安裝的gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux路徑下的arm-linux-gnueabihf-gccarm-linux-gnueabihf-g++(在bin目錄中)

target root選項為gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux的安裝目錄,不用帶/bin

配置編譯環境

這裡先做乙個說明:

我的編譯檔案存放目錄:/home/sun/opencv-arm-linux

編譯生成的標頭檔案存放目錄:(即cmake_install_prefix的值)/usr/local/opencv-arm

cd /etc/ld

.so.conf

.dvim opencv.conf

新增如下內容: /usr/local/opencv-arm/lib

然後ldconfig使生效

vim /etc/bash.bashrc    #如果是centos系統,直接vim /etc/bashrc即可

在最後新增

pkg_config_path=$pkg_config_path

:/usr/local/opencv-arm/lib/pkgconfig

export pkg_config_path

儲存之後,執行source /etc/bash.bashrc使之生效。

至此,環境配置完成。

下面進行編譯測試

編譯測試

假如你已經有乙個main.cpp函式檔案了,進入其 所在的資料夾

執行下面的命令進行編譯:

arm-linux

-gnueabihf

-g++ main.cpp -o hh -lpthread

-lrt

`pkg-config --libs --cflags opencv`

其中arm-linux-gnueabihf-g++是編譯用的編譯器;main.cpp為要進行編譯的程式;hh為編譯之後生成的可執行二進位制程式,可以任意命名

編譯成功之後,就會發現生成了乙個名為hh的二進位制檔案。

至此,在電腦上的opencv交叉編譯已全部完成!!

剩下的工作就是把編譯好的opencv庫拷到arm平台中,可以參考將交叉編譯好的opencv移植到arm平台

交叉編譯opencv

宿主機 linux mint 17.2 cinnamon 64 bit cinanamon 2.6.13 linux核心 3.16.0 18 generic cmake version 2.8.12.2 opencv 2.4.10 sudo apt get install gcc arm linux...

opencv交叉編譯記

這兩天一直在編譯opencv。確實很頭疼。1.用cmake 來交叉編譯opencv樣例時,其實在交叉編opencv 時,可以通過設定,將原始碼裡的sample都編譯的 當時不知道 將原始碼裡的sample c 考到opencv的交叉編譯的build目錄裡,要修改下example cmake 裡的cm...

opencv交叉編譯第二版

主機 ubuntu 12.04 32bit tar xvf arm 2009q3 gcc.tg.bz2 c 預設指定的跟檔案目錄 sudo gedit etc profile source etc profile 修改檔案 export path paht opt friendly toolscha...