移植JPEG9.0.3库到ARM平台

目录

使用 9.0.3版本的JPEG库9.0.3 JPEG Library

编译三部曲:

拷贝库文件到ARM板上

路径加到环境变量LD_LIBRARY_PATH中

临时的加入方式:

永久的加入方式


使用 9.0.3版本的JPEG库
9.0.3 JPEG Library

编译三部曲:

  • ./configure --prefix=/home/ljh/jpeg --host=arm-none-linux-gnueabi
  • make
  • make install

--prefix  指定生成文件存放的路径

--host     通过 arm-linux-gcc -v 查出, Target: arm-none-linux-gnueabi

make install之后的结果:

(安装就是把各个文件放到对应的目录下,bin,include,share,lib等目录)

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

拷贝库文件到ARM板上

因为我们一般用的是动态库,程序需要在运行时链接库文件,所以把库文件放到ARM板上(只需要库文件即可,其他目录的不需要)

在虚拟机上:压缩打包所有的库

ljh@ubuntu:~/jpeg$ tar -czvf jpeglib.tar.gz lib/*

(其实只拷贝 libjpeg.so.9 也可以了)

放在开发板上,再解压

tar -xzvf jpeglib.tar.gz -C /My3rdLib/jpeg/

-C用于执行解压后存放的路径

最后出来的存放位置会是:/My3rdLib/jpeg/lib  (因为压缩的时候有一个lib目录在)

路径加到环境变量LD_LIBRARY_PATH中

现在我们在ARM板上已经有了库文件,但是还需要把这个动态库的路径加入到系统环境变量LD_LIBRARY_PATH中。程序运行的时候,自动会过来【环境变量】中找库文件。

临时的加入方式:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:你的存放路径

例如我的动态库存放路径是 /My3rdLib/jpeg/

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/My3rdLib/jpeg/lib

临时的方式,一旦不在本会话,或者是重启了设备,就会失效。

永久的加入方式

要想永久,写入ARM板自启动的文件/etc/profile中,也是同样的命令

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/My3rdLib/jpeg/lib

加入到文件/etc/profile中,然后重新启动一次,让这个文件的内容被执行即可完成。

如果你没有加入路径到环境变量或者根本没有库文件。

运行时会提示找不到动态库,如下信息:

showjpg: error while loading shared libraries: libjpeg.so.9: cannot open shared object file: No such file or directory
 

大功告成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值