转自: http://blog.csdn.net/ypist/article/details/8190966
从http://www.ijg.org/files/网站下载lib库的源文件.
开工:
- tar -xzvf jpeg-6b.tar.gz
- cd jpeg-6b
- mkdir /opt/jpeg/jpeg-6b-release
- ./configure CC=arm-linux-gcc --prefix=/opt/jpeg/jpeg-6b-release --enable-shared --enable-static --host=arm-linux
- mkdir /opt/jpeg/jpeg-6b-release/bin
- mkdir /opt/jpeg/jpeg-6b-release/include
- mkdir /opt/jpeg/jpeg-6b-release/lib
- mkdir /opt/jpeg/jpeg-6b-release/man
- mkdir /opt/jpeg/jpeg-6b-release/man/man1
- make
=================================================
出错:
- [root@localhost jpeg-6b]# make
- ./libtool --mode=compile arm-linux-gcc -O2 -I. -c ./jcapimin.c
- make: ./libtool: Command not found
- make: *** [jcapimin.lo] Error 127
所以,我们得先安装 libtool工具。
=================================================
sudo yum install libtool libtool-ltdl libtool-ltdl-devel
或按 原帖主方法:
从http://download.chinaunix.net/download/0007000/6039.shtml下载
得到: libtool-2.4.2.tar.xz
放到我们的Linux系统中:
网上说,tar.xz文件解压 有2中办法:
方式1:
tar xvfJ ***.tar.xz
方式2:
xz -d ***.tar.xz
tar -xvf ***.tar
我用方法1尝试,报错:
- [root@localhost jpeg]# tar xvfJ libtool-2.4.2.tar.xz
- tar: invalid option -- J
- Try `tar --help' or `tar --usage' for more information.
- [root@localhost jpeg]# tar xvfj libtool-2.4.2.tar.xz
- bzip2: (stdin) is not a bzip2 file.
- tar: Child returned status 2
- tar: Error exit delayed from previous errors
于是,我采用方法2:
[root@localhost jpeg]# xz -d libtool-2.4.2.tar.xz
bash: xz: command not found
好吧, 我去给你安装个xz工具,从 http://tukaani.org/xz/xz-4.999.9beta.tar.bz2
上面下载得到 xz-4.999.9beta.tar.bz2。
1、tar -jxvf xz-4.999.9beta.tar.bz2
2、cd xz-4.999.9beta
3、./configure --prefix=/
4、make && make install
OK, 去之前的目录,然后 xz -d libtool-2.4.2.tar.xz
得到: libtool-2.4.2.tar
然后:tar -xvf libtool-2.4.2.tar
得到: libtool-2.4.2 文件夹。
$ cd libtool-2.2.4/
- [root@localhost libtool-2.4.2]# ./configure CC=arm-linux-gcc --host=arm-linux --build=arm-linux --prefix=/opt/jpeg/libtool-release
- ## ------------------------- ##
- ## Configuring libtool 2.4.2 ##
- ## ------------------------- ##
-
- checking for a BSD-compatible install... /usr/bin/install -c
- checking whether build environment is sane... yes
- checking for a thread-safe mkdir -p... /bin/mkdir -p
- checking for gawk... gawk
- checking whether make sets $(MAKE)... yes
- checking build system type... arm-unknown-linux-gnu
- checking host system type... arm-unknown-linux-gnu
- configure: autobuild project... GNU Libtool
- configure: autobuild revision... 2.4.2 ()
- configure: autobuild hostname... localhost.localdomain
- configure: autobuild mode... default
- configure: autobuild timestamp... 20121116T063533Z
- checking for arm-linux-gcc... arm-linux-gcc
- checking whether the C compiler works... yes
- checking for C compiler default output file name... a.out
- checking for suffix of executables...
- checking whether we are cross compiling... configure: error: in `/opt/jpeg/libtool-2.4.2':
- configure: error: cannot run C compiled programs.
- If you meant to cross compile, use `--host'.
- See `config.log' for more details
-
- 后来改为:
- [root@localhost libtool-2.4.2]# ./configure CC=arm-linux-gcc --host=arm-linux --prefix=/opt/jpeg/libtool-release
- 配置通过。
- $ make && make install
- [root@localhost libtool-2.4.2]# ls ../libtool-release/bin
- libtool libtoolize
- [root@localhost libtool-2.4.2]# cp ../libtool-release/bin/* ../jpeg-6b/
- [root@localhost libtool-2.4.2]# cd ../jpeg-6b
- ./configure CC=arm-linux-gcc --prefix=/opt/jpeg/jpeg-6b-release --enable-shared --enable-static --host=arm-linux
- make && mak install
至此,得到我们的文件在 jpeg-6b-release 目录下面。
下面我们再延伸一下,将8d版本的库也编译了吧。
- [root@localhost jpeg]# cp /mnt/hgfs/jpeg_lib/jpegsrc.v8d.tar.gz ./
- [root@localhost jpeg]# tar zxvf jpegsrc.v8d.tar.gz
- [root@localhost jpeg-8d]# ./configure CC=arm-linux-gcc --prefix=/opt/jpeg/jpeg-8d-release --enable-shared --enable-static --host=arm-linux
- [root@localhost jpeg-8d]# make && make install
- [root@localhost jpeg-8d]# cd ../jpeg-8d-release/
- [root@localhost jpeg-8d-release]# tree
- .
- |-- bin
- | |-- cjpeg
- | |-- djpeg
- | |-- jpegtran
- | |-- rdjpgcom
- | `-- wrjpgcom
- |-- include
- | |-- jconfig.h
- | |-- jerror.h
- | |-- jmorecfg.h
- | `-- jpeglib.h
- |-- lib
- | |-- libjpeg.a
- | |-- libjpeg.la
- | |-- libjpeg.so -> libjpeg.so.8.4.0
- | |-- libjpeg.so.8 -> libjpeg.so.8.4.0
- | `-- libjpeg.so.8.4.0
- |-- man
- | `-- man1
- | |-- cjpeg.1
- | |-- djpeg.1
- | |-- jpegtran.1
- | |-- rdjpgcom.1
- | `-- wrjpgcom.1
- `-- share
- `-- man
- `-- man1
- |-- cjpeg.1
- |-- djpeg.1
- |-- jpegtran.1
- |-- rdjpgcom.1
- `-- wrjpgcom.1
-
- 8 directories, 24 files
至此, 我们的8d版本的JPEG库也编译通过了,哈哈。。