這篇部落格的目的
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
問題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後,(看下圖)一定要檢查好路徑,筆者因為開始配置的時候,沒有留意這裡的問題,後面編譯大多不通過,多大跟這個有關
問題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
解決:是交叉編譯工具沒選對的問題
下面是原作者的一張截圖,我們從交叉編譯庫裡面檢視,注意要改為 實際交叉編譯工具的位置
問題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