第6章 库开发 -第1节 USB摄像头移植与使用 B

1.2 JPEG 库移植

第一步:下载libjpeg库
下载地址http://www.ijg.org/
下载jpegsrc.v9c.tar.gz这个文件,移动到Ubuntu中。
第二步:解压这个文件

$tar -xvf jpegsrc.v9c.tar.gz

第三步:建立编译文件夹
打开终端,切换到解压的目录,建立编译后的文件夹。

$ cd ./jpeg-9c/
$mkdir install

第四步:编译配置

$./configure ­­host= arm-fsl-linux-gnueabi ­­prefix=`pwd`/install --enable-shared --enable-static

【注1】–host参数要与交叉编译器名称对应(注意:此参数一定要加,否则交叉编译很可能不成功)。
–prefix参数是强制设定install之后生成文件的存放目录,加上这个参数有利于将输出文件统一拷贝到开发板上。
–enable-shared参数是设置生成的lib库为共享库,即生成.so, .so.x文件。
–enable-static参数是设置生成的lib库为静态库,即生成*.a文件(注意:如果不需要在项目中加入静态库的话,此参数可以不加)。
【注2】这几个参数可以根据自己的实际情况来修改。
第五步:执行编译

$make

可能需要几分钟。接下来就是执行安装。

$make install 

编译完成后,在install文件目录下生成了/bin, /lib, /include三个文件夹。
这里写图片描述
第六步:库的使用
前面几步如果有什么问题请自行google或者阅读解压目录下的install.txt文件。把下面几个文件拷贝到你的程序目录下。这几个文件的位置就在install/include下面。
jmorecfg.h、jpeglib.h、jerror.h、jconfig.h
在你的源代码中加入
#include “jpeglib.h”
编译的时候请一定使用下面的方法。

$arm-fsl-linux-gnueabi-gcc 你的程序 -o 你的输出 -L/libjpeg的安装目录/lib -l:libjpeg.so.9

上面-L后面的路径可以根据自己目录更改。
第七步:移植动态库
把install/lib文件夹下面的 libjp.so.9这个动态库文件拷贝到arm板上usr/lib库里。然后在arm板上执行程序。
【注意】如果出现库的版本的问题。一定按照步骤五的方法,加上-L 和-l.

猜你喜欢

转载自blog.csdn.net/u013162035/article/details/79957485