linux下交叉编译libjpeg库并移植到开发板上

   最近嵌入式比赛用的HiveBoard开发板,项目需要移植libjpeg库以实现bmp图片压缩成jpg的功能。ubuntu下首先下载源文件jpegsrc.v6b.tar.gz,解压之后./configure 然后make  发现提示缺少libtool,虽然可以另外下载libtool再自己编译安装,但总感觉有点麻烦。看到了一个帖子用的是官网http://www.ijg.org/ 的最新版jpegsrc.v9a.tar.gz ,似乎没提到有这个问题,于是又下载了个jpeg-9a版本。

    然后解压,先在ubuntu下试试效果。 

    ./configure

    make

    make install

这下没报错了,cd 到 usr/local/lib下面,发现已经生成了共享库文件libjpeg.so, libjpeg.so.9, libjpeg.so.9.1.0

运行格式转换测试程序./test.out 提示找不到库,于是把生成的几个库文件拷贝到/usr/lib下,再运行./test.out,成功转换bmp为jpg、


    接下来交叉编译

    重新解压一个jpeg-9a,

    ./configure CC=unicore32-linux-gcc LD=unicore32-linux-ld --host=arm-linux --prefix=/root/Desktop/jpeglib --enable-shared --enable-static

    make

    make install

参数解释:

CCLD均设置为交叉编译器中的对应名称,如果设置后无法识别的话,可以换成交叉编译工具的绝对路径

--host参数要与交叉编译器名称对应,我用的交叉编译器是unicore32-linux,但经测试发现此名称无法识别,因此改为了arm交叉编译通用名称arm-linux(注意:此参数一定要加,否则交叉编译很可能不成功

--prefix参数是强制设定install之后生成文件的存放目录,加上这个参数有利于将输出文件统一拷贝到开发板上

--enable-shared参数是设置生成的lib库为共享库,即生成***.so, ***.so.x文件

--enable-static参数是设置生成的lib库为静态库,即生成***.a文件(注意:如果不需要在项目中加入静态库的话,此参数可以不加


交叉编译成功后,会发现在桌面上生成了jpeglib文件夹,进入lib子文件夹,把libjpeg.so, libjpeg.so.9, libjpeg.so.9.1.0文件拷贝到开发板中的usr/lib下面即可使用。



参考资料:

http://www.cnitblog.com/zouzheng/archive/2006/07/28/14320.html

http://blog.csdn.net/wwwxxlby520/article/details/4384224

http://blog.csdn.net/ypist/article/details/8190966

http://blog.csdn.net/a593796769/article/details/9211747

http://blog.csdn.net/yyplc/article/details/10291429

http://www.cnblogs.com/AlphaDu/articles/1233213.html

http://bbs.csdn.net/topics/390131342

http://blog.chinaunix.net/uid-20846214-id-2413068.html

http://blog.csdn.net/eilianlau/article/details/7093202


===============================================

搬运自我的百度空间

原文发布时间:2014-05-14 18:16

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值