第三方库介绍——libpng

这篇具有很好参考价值的文章主要介绍了第三方库介绍——libpng。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

libpng是一款C语言编写的比较底层的读写PNG文件的跨平台的库。由于依赖于zlib库,所以在安装libpng时往往还需要安装zlib库。

库版本的选择与下载

zlib库和libpng库的下载地址:https://jaist.dl.sourceforge.net/project/libpng/

libpng库下载的版本为:libpng-1.6.37
zlib库下载的版本为:zlib-1.2.11

安装zlib和libpng

由于某些系统可能自带或者在安装其他应用时就装上了zlib,为了避免安装的libpng与系统本身自带的zlib(安装在系统的路径为:/usr/local/lib)有冲突,所以创建一个文件夹用于安装libpng与zlib。

首先将两个压缩包放在同一个路径下

目录结构如图所示:

第三方库介绍——libpng

安装zlib库

tar -zxvf zlib-1.2.11.tar.gz && cd zlib-1.2.11
./configure --prefix=$PWD/install
make 
sudo make install
make clean

安装libpng库

tar -xzvf libpng-1.6.37.tar.gz && cd libpng-1.6.37
./configure --prefix=$PWD/install --with-zlib-prefix=$PWD/../zlib-1.2.11/install
make 
sudo make install
make clean

在./configure之后会根据当前环境与配置参数自动生成对应的Makefile.in和Makefile。

交叉编译

linux主机:ubuntu-18.04

交叉编译器:arm-buildroot-linux-gnueabihf

开发板kernel:Linux 5.4.0-150-generic x86_64

开发板:100ASK_STM32MP157_PRO开发板

libpng 依赖于 zlib 库, 所以要想移植 libpng 先得移植 zlib 库才可以。

交叉编译zlib库

zlib编译的过程比较简单,./configure不允许传入非指定参数;所以这里通过 $ export CC=xxx 进行配置交叉编译工具

book@100ask:~/Desktop/libpng/zlib-1.2.11$ ./configure -help
usage:
  configure [--const] [--zprefix] [--prefix=PREFIX]  [--eprefix=EXPREFIX]
    [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]
    [--includedir=INCLUDEDIR] [--archs="-arch i386 -arch x86_64"]

依次执行下面的指令:

tar -zxvf zlib-1.2.11.tar.gz && cd zlib-1.2.11
export CC=/home/book/100ask_stm32mp157_pro-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/arm-buildroot-linux-gnueabihf-gcc
./configure --prefix=$PWD/install
make 
sudo make install
make clean

进入到 zlib 安装目录下,将 lib 目录下的所有动态链接库文件拷贝到开发板 Linux 系统/usr/lib 目录
第三方库介绍——libpng

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

交叉编译libpng库

依次输入指令:

tar -xzvf libpng-1.6.37.tar.gz && cd libpng-1.6.37
./configure --prefix=$PWD/install --host=arm-buildroot-linux-gnueabihf CC=/home/book/100ask_stm32mp157_pro-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/arm-buildroot-linux-gnueabihf-gcc CPPFLAGS="${CPPFLAGS} -I/home/book/Desktop/libpng/zlib-1.2.11/install/include" LDFLAGS="${LDFLAGS} -L/home/book/Desktop/libpng/zlib-1.2.11/install/lib" 
make
sudo make install
make clean
  • –prefix:指定安装目录
  • –host:指定目标主机类型
  • CC:指定交叉编译工具
  • –enable-shared:编译生成.so动态库
  • –enable-static:编译生成.a静态库
  • LDFLAGS:指定链接库目录。不一定需要,看编译具体情况
  • CPPFLAGS:指定头文件目录。不一定需要,看编译具体情况

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

libpng的使用

libpng使用文章来源地址https://www.toymoban.com/news/detail-501498.html

到了这里,关于第三方库介绍——libpng的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OAuth 2.0 协议介绍【实现 GitHub 第三方登录】

    OAuth(是 Open Authorization 开放授权的缩写),在全世界得到广泛应用,目前的版本是2.0版。 本文会对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。 OAuth 2.0 是一个开放标准,用于授权用户访问另一个应用程序的资源,而无需将用户的凭据(比如

    2024年02月20日
    浏览(67)
  • 群星璀璨的Python江湖,Python第三方库介绍

    如果Python语言是一个江湖,那么python第三方库就是一个个身怀绝技的江湖侠客,这些侠客在这偌大的江湖尽情挥洒着江湖侠气。有人名扬天下,有人默默无闻,有人纵横捭阖,有人黯然谢幕,每天都在上演人生的悲欢离合。 那么什么是python第三方库呢? python是一门非常流行

    2024年03月10日
    浏览(51)
  • 前端使用firebase配置第三方登录介绍(谷歌登录,facebook登录等)

    点此处去 firebase 官网 点此处去 web端的谷歌登录文档 点此处去 facebook开发者官网链接 首先注册一个账号登录firebase(可以使用谷歌账号登录) 然后创建项目(走默认配置就行了) 添加应用(走默认配置),如图所示,本文介绍web应用。 应用添加完毕后走项目设置-如下图(

    2024年04月13日
    浏览(48)
  • redis(其它操作、管道)、django中使用redis(通用方案、 第三方模块)、django缓存、celery介绍(celery的快速使用)

    1 redis其它操作 2 redis管道 3 django中使用redis 3.1 通用方案 3.2 第三方模块 4 django缓存 5 celery介绍 5.1 celery的快速使用

    2024年02月07日
    浏览(50)
  • Python第三方库安装教程、什么是第三方库

    Python有一个全球社区:https://pypi.org/,在这里我们可以搜索任何主题的Python第三方库。PyPI全称是Python Package Index,指的是Python包的索引,它由PSF(Python Software Foundation)来维护,并且展示全球Python计算生态。 我们需要学会利用PyPI的主站检索,找到我们使用和关心的Python第三方

    2024年02月03日
    浏览(108)
  • 引入第三方字体库 第三方字体库Google Fonts

    googlefonts官方网站 googlefonts中国网站 本人是在微信小程序中引入 在static中建一个文件夹font-family 例如字体链接:https://fonts.font.im/css?family=Kirang+Haerang 将该链接的返回的资源的复制到css文件中 font-family.css main.js引入 微信小程序不校验合法域名就能看到结果

    2024年02月16日
    浏览(58)
  • 【干货】Android系统定制基础篇:第十四部分(禁止第三方应用调用系统设置、增加TP配置、增加摄像头镜像设置、增加摄像头默认角度设置、修改默认语言)

    修改文件 frameworksbasecorejavaandroidappActivityManagerNative.java 如下: 属性配置: Android 主板定制过程中经常出现客户需要临时适配各种 TP(包括 USB TP),因此在设置菜单中加入 xy 交换,x 反转,y 反转常用配置,以客户多样性需求。 以下修改基于Android 8.1 SDK,如下: 属性配置

    2024年02月10日
    浏览(51)
  • Python第三方库安装——使用vscode、pycharm安装Python第三方库

    在这里介绍vscode、Pycharm安装python第三方库的方法。 操作系统:windows10 专业版 环境如下: Pycharm Comunity 2022.3 Visual Studio Code 2019 Python 3.8 pip:23.0.1 pycharm是一款很强大的、专用于写python的ide。 小白式安装第三方库往往能给初学者一种 “高级感” ,而对于使用惯了Linux的人而言

    2024年02月03日
    浏览(78)
  • Python第三方库批量下载到本地,并离线批量安装第三方库

    鉴于公司内网安装的python版本为python3.6.5,而此时又需要安装第三方库pytest,本来是想直接在Python官网PyPI直接搜对应可匹配跑python3.6.5版本的pytest进行下载然后传到内网安装即可,但是发现pytest依赖别的第三方库,根据报错装了几个依赖的第三方库之后,发现还是一堆的问题

    2024年02月07日
    浏览(95)
  • 安卓玩机搞机-----没有第三方包 刷写第三方各种GSI系统 体验非官方系统

    很多安卓友友热衷与刷这些各种第三方包体验。但有个别机型第三方资源较少。而且有的机型要体验非官方系统却没有对应系统的第三方包。那可以体验下刷gsi系统来畅玩。今天的帖子就聊聊GSI系统的各种刷写操作和对应的故障解析、 💔💔💔💔💔💔💔💔💔什么是GSI 系

    2024年02月05日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包