这篇博客的目的
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:
root@ubuntu:/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
/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
$ 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
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