目录
使用 9.0.3版本的JPEG库9.0.3 JPEG Library
使用 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
大功告成!
2173

被折叠的 条评论
为什么被折叠?



