久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 入門指導 > Opencv在嵌入式ARM開發移植(zhi)的詳細過程

Opencv在嵌入式ARM開發移植的詳細過程(cheng) 時間:2018-08-06      來源:未知(zhi)

首先要看(kan)Opencv在嵌入式arm開(kai)發的(de)(de)移(yi)植過程(cheng)的(de)(de)話,網上有很(hen)多這方(fang)面的(de)(de)移(yi)植編譯方(fang)法都是比較老(lao)的(de)(de),而且多數都是針對(dui)OpenCV 1.0的(de)(de),他的(de)(de)方(fang)法很(hen)麻(ma)煩(fan),很(hen)容易出錯,在這里我(wo)來說一下我(wo)的(de)(de)方(fang)法,沒有那么麻(ma)煩(fan),都是盡(jin)可能利用現成的(de)(de)工具,盡(jin)量圖形化界面配(pei)置操作,方(fang)便編譯配(pei)置。

接下來,我就(jiu)詳細的來讓你學會Opencv在嵌(qian)入式ARM開發移(yi)植的詳細過程,可以收藏(zang)哦(e)。

軟硬件環境

宿主機:Ubuntu 12.04 32bit

開(kai)發板:OK6410

OpenCV: 2.4.3

其他:

arm-linux-g++ 4.3.2 / arm-linux-gcc 4.3.2

CMake-gui 2.8.10

Cmake的安裝

OpenCV 2.2以后版(ban)本需(xu)要使用(yong)Cmake生成makefile文件,因此需(xu)要先(xian)安裝cmake。

ubuntu下安裝cmake比(bi)較簡單,

apt-get install cmake

如果(guo)覺得自帶的版本(ben)不符合(he)要求,可(ke)以下載(zai)安裝包。

下(xia)載最(zui)新版的安裝包:

//www.cmake.org/cmake/resources/software.html

這里是(shi)已經編(bian)譯(yi)好的,你可以直接(jie)下載解壓到你所需要的目錄下就好了(le):

tar zxvf cmake-2.8.10.2-Linux-i386.tar.gz –C /usr/local/

設(she)置(zhi)環境變量:

sudo gedit /home/emouse/.bashrc

在打(da)開(kai)的(de)文件后添加:

export PATH=$PATH:/usr/local/cmake-2.8.10.2-Linux-i386/bin

查看版本(ben),測試是(shi)否安裝成(cheng)功:

root@emouse:/home# cmake --version

cmake version 2.8.10.2

OpenCV 的(de)交叉編(bian)譯

解壓OpenCV壓縮(suo)文(wen)件,得到文(wen)件夾。

#cmake-gui 打(da)開(kai)(kai)cmake的gui界面(mian),開(kai)(kai)始進行配置,配置過程(cheng)如下圖(tu)所(suo)示(shi):

1、選定解壓后(hou)的源(yuan)文(wen)件和(he)將要(yao)編譯的文(wen)件目(mu)錄,這(zhe)個(ge)自己之前先建(jian)好。

2、點擊(ji)Configure 選(xuan)擇工程類型,選(xuan)擇交叉編譯(yi),點擊(ji)下一步(bu)。

3、在下圖的界面中(zhong)選擇交叉(cha)編譯工具鏈以及庫文(wen)件(jian)相關信息,按照(zhao)圖中(zhong)的進行填寫,其中(zhong)紅框部分(fen)為交叉(cha)編譯工具鏈的實際路徑(jing),根據宿(su)主機實際安(an)裝路徑(jing)填寫。

4、點擊Finsh完成(cheng)初步(bu)配置。

5、在這(zhe)個(ge)時(shi)候主界面如下圖所(suo)示(shi),這(zhe)時(shi)Cmake會讀(du)取(qu)程序的一(yi)些配置信息,可以(yi)再下圖紅框中對每(mei)一(yi)個(ge)編譯(yi)選項進行修(xiu)改,這(zhe)里(li)去掉WITH_TIFF支持(chi)并修(xiu)改安裝路(lu)徑,其他配置可以(yi)根據需求(qiu)選擇(ze)。

 通過(guo)終端進入(ru)OpenCV-ARM目錄,make編譯,編譯過(guo)程中出錯如下:

Linking CXX executable ../../bin/opencv_perf_core../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemcpy'../../lib/libopencv_core.so: undefined reference to `pthread_spin_init'../../lib/libopencv_core.so: undefined reference to `pthread_spin_unlock'../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemset'../../lib/libopencv_highgui.so: undefined reference to `_TIFFwarningHandler'../../lib/libopencv_core.so: undefined reference to `pthread_key_create'../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemcmp'../../lib/libopencv_core.so: undefined reference to `pthread_getspecific'../../lib/libopencv_highgui.so: undefined reference to `_TIFFfree'../../lib/libopencv_ts.so: undefined reference to `pthread_key_delete'../../lib/libopencv_core.so: undefined reference to `pthread_spin_lock'../../lib/libopencv_highgui.so: undefined reference to `_TIFFmalloc'../../lib/libopencv_highgui.so: undefined reference to `TIFFOpen'../../lib/libopencv_core.so: undefined reference to `pthread_spin_destroy'../../lib/libopencv_core.so: undefined reference to `pthread_once'../../lib/libopencv_highgui.so: undefined reference to `_TIFFrealloc'../../lib/libopencv_core.so: undefined reference to `clock_gettime'../../lib/libopencv_core.so: undefined reference to `pthread_spin_trylock'../../lib/libopencv_highgui.so: undefined reference to `_TIFFerrorHandler'../../lib/libopencv_core.so: undefined reference to `pthread_setspecific'collect2: ld returned 1 exit statusmake[2]: *** [bin/opencv_perf_core] 錯(cuo)誤 1make[1]: *** [modules/core/CMakeFiles/opencv_perf_core.dir/all] 錯(cuo)誤 2make: *** [all] 錯(cuo)誤 2

關于上面的(de)報錯,就是(shi)(shi)因為我們在(zai)開始的(de)時候(hou)勾(gou)選(xuan)了tiff支(zhi)持,但是(shi)(shi)這個(ge)支(zhi)持是(shi)(shi)要(yao)宿主機中安(an)裝相(xiang)應程(cheng)序的(de),所以才會(hui)報錯,解決方法就是(shi)(shi)你打開cmake去掉勾(gou)選(xuan)就可以看,如(ru)果(guo)還有(you)其他報錯的(de)話(hua),可以通過下(xia)面方式查找會(hui)有(you)以下(xia)解釋:

編譯(yi)時發現如下(xia)錯誤:

Linking CXX executable ../../bin/opencv_createsamples

../../lib/libcxcore.so: undefined reference to `clock_gettime'

../../lib/libcxcore.so: undefined reference to `pthread_key_create'

../../lib/libcxcore.so: undefined reference to `pthread_getspecific'

../../lib/libcxcore.so: undefined reference to `pthread_setspecific'

原因是cmake不(bu)認識我定義的arm-linux系統標(biao)記,沒有加(jia)上(shang)庫(ku)pthread和rt的鏈接選(xuan)項

此時需要(yao)修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原來為空,加上-lpthread -lrt

按照此方法更改(gai)對應文件,如下(xia)圖(tu)所示:

此處在CMakeCache.txt 的173行,添加-lpthread -lrt,然后繼續編譯(yi)。編譯(yi)過程十來分鐘左右,編譯(yi)成功結(jie)果如下:

運行make install進行安(an)裝(zhuang),在我(wo)的安(an)裝(zhuang)目(mu)錄中就會多出以下幾個文件夾(jia):

lib文件夾即生成的(de)庫文件,拷貝到開發板對應目(mu)錄即可。

通(tong)過上述的這些步(bu)驟(zou),你(ni)所需要的就完成了(le),其(qi)實我的這個(ge)方(fang)法(fa)也(ye)是比較容(rong)易一(yi)些的,不會(hui)那(nei)么繞,復雜,如果在其(qi)中出錯了(le),跟著我的步(bu)驟(zou)一(yi)步(bu)一(yi)步(bu)檢查,那(nei)會(hui)很(hen)快找(zhao)到(dao)問題所在的,希望(wang)對你(ni)們(men)有幫助哦。

上一篇:嵌入式之arm匯編指令集合,美女學霸總結

下一篇:嵌入式原理及應用題庫,都是經典題型

熱點文章推薦
華(hua)清學員就業(ye)榜單
高薪(xin)學員經(jing)驗分享
熱點新聞推薦
前臺專線(xian):010-82525158 企業培訓洽(qia)談專線:010-82525379 院校合作洽談專(zhuan)線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部