libpng库的移植与使用

一、zlib移植

zlib 是一套包含了数据压缩算法的函式库,此函数库为自由软件, 是一套免费、开源的 C 语言函数库。
libpng 依赖于 zlib 库, 所以要想移植 libpng 先得移植 zlib 库才可以。

下载源码:http:// https://www.zlib.net/fossils/
这里下载的是zlib-1.2.11.tar.gz。

解压:tar -xzf  xxx.tar.gz

进入改目录下,编译整个工程:

初始化交叉编译工具的环境:source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
 

配置工程:./configure   --prefix=/home/用户名/tool/zlib/
后面的路径是指点安装的位置,可自行选择

编译工程:make

安装zlib: make install

安装成功如下:

进入到 zlib 安装目录下,将 lib 目录下的所有动态链接库文件拷贝到开发板 Linux 系统/usr/lib 目录;(若失败了可以打包拷贝再解压)

若元开发板中有该库文件,需要先将出厂系统中原有的 zlib 库文件删除, 在开发板 Linux 系统下执行命令:rm -rf /usr/lib/libz.* /lib/libz.*
 

二、移植libpng

下载源码:https://github.com/glennrp/libpng/releases 

解压:tar  -zxf xxx.tar.gz

进入改目录下,编译整个工程:

初始化交叉编译工具的环境:source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

将 zlib 库安装目录下的 include 和 lib 路径导出到环境变量:

export LDFLAGS="${LDFLAGS} -L/home/用户/tool/zlib/lib"
export CFLAGS="${CFLAGS} -I/home/用户/tool/zlib/include"
export CPPFLAGS="${CPPFLAGS} -I/home/用户/tool/zlib/include"

配置工程:./configure --prefix=/home/用户/tool/png   --host=arm-poky-linux-gnueabi

后面的路径是指点安装的位置,可自行选择

编译工程:make

安装libpng : make install

libpng 依赖于 zlib 库,需要告知编译器 zlib 库的安装目录,编译器才能找到 zlib 的库文件以及头文件,编译 libpng 的时才不会报错。

移植到开发板:进入到 libpng 安装目录,将 bin 目录下的所有测试工具拷贝到开发板 Linux 系统/usr/bin 目录;将 lib 目录下的所有库文件拷贝到 Linux 系统/usr/lib 目录。
 

猜你喜欢

转载自blog.csdn.net/qq_53144843/article/details/124526518