移植JPEG到ARM平台完整版

大部分文章描述的不是很全面,这次将移植过程整理出来,希望对大家有用。

1. 安装交叉编译环境

这步骤必不可少,根据ARM开发版自带光盘中找到交叉编译工具链按压缩包,解压缩到PC机上即可。这步骤可以百度解决,很简单。通过如下命令验证交叉编译环境是否正确:

arm-linux-gcc -v
Using built-in specs.
COLLECT_GCC=arm-linux-gcc
COLLECT_LTO_WRAPPER=/opt/FriendlyARM/toolschain/4.5.1/libexec/gcc/arm-none-linux-gnueabi/4.5.1/lto-wrapper
Target: arm-none-linux-gnueabi
Configured with: /work/toolchain/build/src/gcc-4.5.1/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.5.1 --with-sysroot=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root --enable-languages=c,c++ --disable-multilib --with-cpu=arm1176jzf-s --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=softfp --with-pkgversion=ctng-1.8.1-FA --with-bugurl=http://www.arm9.net/ --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-gmp=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-mpfr=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-ppl=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-cloog=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-mpc=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-libelf=/work/toolchain/build/arm-none-linux-gnueabi/build/static --enable-threads=posix --with-local-prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root --disable-nls --enable-symvers=gnu --enable-c99 --enable-long-long
Thread model: posix
gcc version 4.5.1 (ctng-1.8.1-FA) 

执行结果不正确则表示交叉编译环境没有安装成功.

2. 下载JPEG源码包

https://download.csdn.net/download/wang_da_yang/10907537
或者直接百度搜索下载jpegsrc.v8.tar.gz源码包.

3. 解压缩

假设该源码包在主目录下,执行以下命令

tar -zxvf ~/jpegsrc.v8.tar.gz

4.创建安装目录

创建安装目录,保存安装成功后的库文件,以及头文件等。

mkdir ~/libjpeg_arm

5. 生成Makefile

进入刚刚解压缩出来的源码包目录下,执行./configure命令,如下

cd ~/jpeg-8
./configure --prefix=/home/你的用户名/libjpeg_arm --host=arm-linux

注意:–prefix选项表名安装路径,即刚刚创建的安装目录,一定要填写绝对路径。
–host选项表名使用arm编译器来编译
此时会生成Makefile文件。

6. make && make install 安装

如果安装目录没有读写权限,则可能出现权限拒绝等问题,执行以下命令时应该加上sudo。
执行make以及make install命令:

make && make install

7. 拷贝动态库到目标平台

将安装目录~/libjpeg_arm/lib目录下的lbjpeg.so.8.0.0拷贝到目标板的 /lib目录下,然后在目标板的/lib目录下一定要建立软连接:

cd /lib
ln -s libjpeg.so.8.0.0 libjpeg.so.8
ln -s libjpeg.so.8.0.0 libjpeg.so

至此,JPEG库已经移植完毕,可以在目标平台加载使用了。

你可能感兴趣的:(Linux编程)