zoukankan      html  css  js  c++  java
  • JPEG库在Linux系统下的编译和移植【转】

    本文转载自:

           这篇文章介绍了jpeg库在Linux系统下的编译和移植,经过了亲自的验证,编译首先需要准备以下资源:jpegsrc.v6b.tar.gz(jpeg库),libtool-1.5.26.tar.gz(编译需要的工具),交叉编译工具链(移植到ARM时使用)。

    jpegsrc.v6b.tar.gz下载位置:http://115.com/?ct=rar&pickcode=attc36k1f57cah4dq

    libtool-1.5.26.tar.gz下载位置:http://115.com/?ct=rar&pickcode=cmmen1rxdh968dbrl

    交叉编译工具链下载位置:http://115.com/?ct=rar&pickcode=b33lpqa0qhm8i84xh

          前提:编译时需要以root权限进行,JPEG的默认安装路径是/usr/local,无论打算将JPEG库安装在哪儿都必须保证你的安装目录下有以下几个目录:“include”,“lib”,“bin”,“man/man1”,如果没有就自己创建。

          首先,先编译一个x86下的版本。1.先解压jpeg库“tar –zxvf jpegsrc.v6b.tar.gz”,解压完后生成一个叫“jpeg-6b”的目录。2.进入该目录配置编译选项“./configure --prefix=/home/jpeg_install/jpeg_x86--enable-shared --enable-static”。逐一解释一下各个选项,“--prefix=/home/jpeg_install/jpeg_x86”:指的是安装目录,这个安装目录下必须包含“include”,“lib”,“bin”,“man/man1”这几个目录;“--enable-shared”:指的是编译动态链接库;“--enable-static”:指的是编译静态链接库。3.配置完编译选项后目录下产生Makefile文件,执行make进行编译,这时编译很可能编译不过,出现以下的错误提示:

    “./libtool--mode=compile gcc -O2  -I. -c./jcapimin.c

    make: ./libtool:命令未找到

    make: *** [jcapimin.lo] 错误 127”

           分析一下错误的原因,打开Makefile文件,里面有这样一行“LIBTOOL = ./libtool”;说明编译时需要“libtool”这个工具,然而“jpeg-6b”没有该工具。4.编译libtool,先解压libtool-1.5.26.tar.gz生成一个叫libtool-1.5.26的目录,进入该目录,执行“./configure”;“make”;“make install”;执行完之后在该目录下就是生成了libtool工具,将libtool拷贝到“jpeg-6b”再次执行make进行编译,编译完成后执行“make install”进行安装;执行完毕后在安装目录的lib目录下就会生成所需要的动态链接库和静态链接库。

          其次,编译一个arm的嵌入式版本。首先必须要导出交叉编译环境:“exportPATH=$PATH:/home/arm-linux/arm-2013.05/bin”。在之前的博文中有说如何安装交叉编译环境。1.交叉编译libtool:进入目录libtool-1.5.26执行“./configure --host=arm-none-linux-gnueabi”配置libtool的编译环境,参数“--hosting=arm-none-linux-guneabi”是指定交叉编译器的前缀,因为编译的是嵌入式的版本所以编译器需要选择交叉编译环境;配置完编译环境后执行make进行编译,编译完成后将 生成的libtool拷贝到jpeg-6b中。2.交叉编译jpeg库:进入jpeg-6b目录执行“./configure--host=arm-none-linux-gnueabi --prefix=/home/jpeg_install/jpeg_arm”。执行完成后会生成Makefile文件,但是现在还不能直接执行“make”进行编译,需要修改Makefile文件。打开Makefile文件 ,修改以下几句:“CC= arm-none-linux-gnueabi-gcc”;“AR= arm-none-linux-gnueabi-ar rc”;“AR2= arm-none-linux-gnueabi-ranlib”;修改这三句是更改编译环境,然后再执行“make”进行编译。编译完成后执行“make install”进行安装。安装完成后在“/home/jpeg_install/jpeg_arm/lib”会生成所需要的动态链接库,静态链接库(libjpeg.so,libjpeg.a)。

     
     
  • 相关阅读:
    JavaScript跳转到指定页面并且到指定的tab切换窗口
    三层架构之基础篇(对数据库增删改查)
    三层架构之基础篇(三层架构模型)
    过一天不登QQ的生活
    MVC + EF 框架 对数据库做增删改查
    想说的话
    新的2019年,向上
    C#读取txt文档
    C#写的 电子邮件客户端(winform窗体)
    C# 鼠标任意拖动无边框窗体(调用API函数)。
  • 原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/7168567.html
Copyright © 2011-2022 走看看