opencv移植到arm的出現的問題

2021-06-28 23:13:48 字數 1418 閱讀 2958

1:bash: ./configure: /bin/sh^m: bad interpreter: 沒有那個檔案或目錄

今天在交叉編譯jpeglib時,明明目錄下有configure檔案,但是執行就報此問題:bash: ./configure: /bin/sh^m: bad interpreter: 沒有那個檔案或目錄

google了下,說是檔案格式問題。dos檔案格式不支援在linux下。隨改為unix下檔案格式。使用vi設定即可。

如果出現fileforma=dos那麼就基本可以確定是這個問題了。

:set fileformat=unix

:wq2:jpeg庫的configure檔案在設計方面存在一些問題,如果直接編譯會出現錯誤,提示無法找到libtool,這是因為要先用gcc編譯該資料夾下的dummy.c檔案,要解決這個問題,要先在本機編譯,然後再用make clean操作命令清除本機編譯的結果,在進行交叉編譯即可。

首先展開本機編譯的jpeg庫的工作,解壓jpegsrc.v6b.tar.gz,並進入jpeg-6b目錄,進行配置

./configure –enable-shared –enable-static

make

make clean

接下來進行jpeg庫的交叉編譯:

./configure –prefix=/opt/friendlyarm/toolschain/4.5.1/arm-none-linux-gnueabi/ –host=arm-linux –enable-shared –enable-static

按此命令進行,然後修 改makefile檔案將cc的值改為arm-linux-gcc,一定得改!!

make

安裝前需要在 arm-linux 下建個目錄,不然安裝會出錯

mkdir -pv /opt/friendlyarm/toolschain/4.5.1/arm-none-linux-gnueabi/man/man1

make install

進入/opt/friendlyarm/toolschain/4.5.1/arm-none-linux-gnueabi/的include和lib目錄下可以發現多了一些檔案。

3:在opencv1.0的目錄中make的過程中出現這個../../cxcore/include/cxmisc.h:133:6: error: #elif with no expression

解決辦法:

修改cxmisc.h,在133行。把最後乙個elif換成else!

移植成功後可以使用這個命令進行測試

arm-linux-g++ drawing.c -o drawing -i/opt/opencv_arm/include/opencv -l/opt/opencv_arm/lib -lcv -lcxcore -lpthread -lrt -lcvaux -lm -lpng -ljpeg -lz -lhighgui -ldl

移植opencv到ARM開發板

安裝交叉編譯鏈 我使用的是arm linux gcc 4.3.2,解壓到目錄 usr local arm 4.3.2,然後在環境變數path中增加 usr local arm 4.3.2 bin 安裝cmake opencv 2.0之後的版本,必須使用cmake建立makefile。我使用的cmak...

移植 OpenCV到ARM開發板

交叉編譯opencv依賴庫 交叉編譯opencv依賴庫 1.libz 的交叉編譯 configure prefix opt opencv arm open shared 修改 makefile cc arm linux gcc ar arm linux ar ranlib arm linux ran...

openwrt libubox 移植到ARM上

由於專案的需要,需要把openwrt 上的libubox庫移植到arm上,libubox是openwrt的基礎庫,是乙個事件驅動庫,具體的可以到openwrt官網上去了解。宿主機為 ubuntu 10.04 交叉編譯工具鏈版本為 arm linux gcc 4.5.1,目標機為 s3c6410 s5...