天天看點

OpenCV2.0.0移植(二)之libjpeg交叉編譯 (JZ2440----S3c2440)

這篇部落格的目的

1.交叉編譯好libjpeg 2.解決配置libjpeg過程出現的問題

解決: 一: 為了能讓OpenCV能夠處理jpeg的圖像,必須交叉編譯好libjpeg 感謝寫這個網站的部落客,幫了我大忙,詳細過程在此網站 https://blog.csdn.net/liyuqian199695/article/details/53939786

二:配置libjpeg過程出現的問題

問題1.make: ./libtool: Command not found Makefile:143:recipe for target 'jcapimin.lo' failed 解決:缺乏 通用庫支援腳本libtool導緻的

root下執行$ apt-get libtool $ rpm -qa | grep libtool     檢視是否安裝好libtool 

OpenCV2.0.0移植(二)之libjpeg交叉編譯 (JZ2440----S3c2440)

問題2:

[email protected]:/home/system/jpeg-6b# make install

/usr/bin/install -c cjpeg /usr/local/bin/cjpeg

/usr/bin/install -c djpeg /usr/local/bin/djpeg

/usr/bin/install -c jpegtran /usr/local/bin/jpegtran

/usr/bin/install -c rdjpgcom /usr/local/bin/rdjpgcom

/usr/bin/install -c wrjpgcom /usr/local/bin/wrjpgcom

/usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/man/man1/cjpeg.1

/usr/bin/install: cannot create regular file '/usr/local/man/man1/cjpeg.1': No such file or directory

Makefile:194: recipe for target 'install' failed

make: *** [install] Error 1

解決:這個問題通常是路徑錯誤了 ,修改Makefie $ gedit Makefile 進入Makefile後,(看下圖)一定要檢查好路徑,筆者因為開始配置的時候,沒有留意這裡的問題,後面編譯大多不通過,多大跟這個有關

OpenCV2.0.0移植(二)之libjpeg交叉編譯 (JZ2440----S3c2440)
OpenCV2.0.0移植(二)之libjpeg交叉編譯 (JZ2440----S3c2440)

問題3: make: /home/turf96/Documents/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc-ar: Command not found

Makefile:165: recipe for target 'libjpeg.a' failed

make: *** [libjpeg.a] Error 127

解決:是交叉編譯工具沒選對的問題

OpenCV2.0.0移植(二)之libjpeg交叉編譯 (JZ2440----S3c2440)

下面是原作者的一張截圖,我們從交叉編譯庫裡面檢視,注意要改為 實際交叉編譯工具的位置

OpenCV2.0.0移植(二)之libjpeg交叉編譯 (JZ2440----S3c2440)
OpenCV2.0.0移植(二)之libjpeg交叉編譯 (JZ2440----S3c2440)

問題4:在配置過程中,我們會遇到配置成功後,也就是make 和 make install 都成功實作,但是編譯産生的子檔案隻有bin和man裡面的,lib和include都沒有,這時候應該從以下位置開始,再次配置

清除指令:$ sudo make distclean 配置:$ ./configure --prefix=/work/system/libjpeg-arm --exec-prefix=/work/system/libjpeg-arm --enable-shared --enable-static

OpenCV2.0.0移植(二)之libjpeg交叉編譯 (JZ2440----S3c2440)