目录

1.系统(ubuntu16.04 64位)

2.下载

3.编译、安装

4.测试

5.参考


libpng是官方的 PNG 参考库。它支持几乎所有 PNG 功能,具有可扩展性,并且已经过 23 年多的广泛测试。

libpng 可作为 ANSI C (C89) 源代码使用,并且需要zlib 1.0.4 或更高版本(出于性能和安全原因,建议使用1.2.5或更高版本)

1.系统(ubuntu16.04 64位)

Linux fly-vm 4.15.0-142-generic #146~16.04.1-Ubuntu SMP Tue Apr 13 09:27:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

2.下载

libpng的主页-----》libpng-1.6.37.tar.gz

zlib主页------------》zlib-1.2.11.tar.gz

3.编译、安装

#### 编译安装libpng
[fly@fly-vm LIBPNG]$ wget https://download.sourceforge.net/libpng/libpng-1.6.37.tar.gz
[fly@fly-vm LIBPNG]$ wget http://www.zlib.net/zlib-1.2.11.tar.gz
[fly@fly-vm LIBPNG]$ tar -zxvf libpng-1.6.37.tar.gz
[fly@fly-vm LIBPNG]$ cd libpng-1.6.37/
[fly@fly-vm libpng-1.6.37]$ ./configure --prefix=$PWD/_install
[fly@fly-vm libpng-1.6.37]$ make && make install
### 查看编译安装结果
[fly@fly-vm libpng-1.6.37]$ cd _install/
[fly@fly-vm _install]$ tree
.
├── bin
│   ├── libpng16-config
│   ├── libpng-config -> libpng16-config
│   ├── pngfix
│   └── png-fix-itxt
├── include
│   ├── libpng16
│   │   ├── pngconf.h
│   │   ├── png.h
│   │   └── pnglibconf.h
│   ├── pngconf.h -> libpng16/pngconf.h
│   ├── png.h -> libpng16/png.h
│   └── pnglibconf.h -> libpng16/pnglibconf.h
├── lib
│   ├── libpng16.a
│   ├── libpng16.la
│   ├── libpng16.so -> libpng16.so.16.37.0
│   ├── libpng16.so.16 -> libpng16.so.16.37.0
│   ├── libpng16.so.16.37.0
│   ├── libpng.a -> libpng16.a
│   ├── libpng.la -> libpng16.la
│   ├── libpng.so -> libpng16.so
│   └── pkgconfig
│       ├── libpng16.pc
│       └── libpng.pc -> libpng16.pc
└── share└── man├── man3│   ├── libpng.3│   └── libpngpf.3└── man5└── png.59 directories, 23 files

为LIBPNG的可执行二进制文件、头文件及库文件在/usr目录下创建软链接

.PHONY: all link unlink test makedirSRCDIR  = $(PWD)
DSTDIR  = /usrLNK             = sudo ln -s
RMK             = sudo rm -rfBIN_FILE_0      = bin/libpng16-config
BIN_FILE_1      = bin/pngfix
BIN_FILE_2      = bin/png-fix-itxtINC_FILE_0      = include/libpng16/pngconf.h
INC_FILE_1      = include/libpng16/png.h
INC_FILE_2      = include/libpng16/pnglibconf.hLIB_FILE_0      = lib/libpng16.a
LIB_FILE_1      = lib/libpng16.la
LIB_FILE_2      = lib/libpng16.so.16.37.0all:linkmakedir:sudo mkdir $(DSTDIR)/include/libpng16/link:makedir$(LNK) $(SRCDIR)/$(BIN_FILE_0) $(DSTDIR)/$(BIN_FILE_0)$(LNK) $(SRCDIR)/$(BIN_FILE_1) $(DSTDIR)/$(BIN_FILE_1)$(LNK) $(SRCDIR)/$(BIN_FILE_2) $(DSTDIR)/$(BIN_FILE_2)$(LNK) $(SRCDIR)/$(INC_FILE_0) $(DSTDIR)/$(INC_FILE_0)$(LNK) $(SRCDIR)/$(INC_FILE_1) $(DSTDIR)/$(INC_FILE_1)$(LNK) $(SRCDIR)/$(INC_FILE_2) $(DSTDIR)/$(INC_FILE_2)$(LNK) $(SRCDIR)/$(LIB_FILE_0) $(DSTDIR)/$(LIB_FILE_0)$(LNK) $(SRCDIR)/$(LIB_FILE_1) $(DSTDIR)/$(LIB_FILE_1)$(LNK) $(SRCDIR)/$(LIB_FILE_2) $(DSTDIR)/$(LIB_FILE_2)$(LNK) $(SRCDIR)/$(LIB_FILE_0) $(DSTDIR)/lib/libpng.a$(LNK) $(SRCDIR)/$(LIB_FILE_1) $(DSTDIR)/lib/libpng.la$(LNK) $(SRCDIR)/$(LIB_FILE_2) $(DSTDIR)/lib/libpng.so$(LNK) $(SRCDIR)/$(LIB_FILE_2) $(DSTDIR)/lib/libpng16.so$(LNK) $(SRCDIR)/$(LIB_FILE_2) $(DSTDIR)/lib/libpng16.so.16unlink:$(RMK) $(DSTDIR)/$(BIN_FILE_0) && \$(RMK) $(DSTDIR)/$(BIN_FILE_1) && \$(RMK) $(DSTDIR)/$(BIN_FILE_2) && \$(RMK) $(DSTDIR)/$(INC_FILE_0) && \$(RMK) $(DSTDIR)/$(INC_FILE_1) && \$(RMK) $(DSTDIR)/$(INC_FILE_2) && \$(RMK) $(DSTDIR)/$(LIB_FILE_0) && \$(RMK) $(DSTDIR)/$(LIB_FILE_1) && \$(RMK) $(DSTDIR)/$(LIB_FILE_2) && \$(RMK) $(DSTDIR)/include/libpng16 && \$(RMK) $(DSTDIR)/lib/libpng.* $(DSTDIR)/lib/libpng16.*test:@echo $(SRCDIR)@echo $(DSTDIR)

### 编译、安装zlib
[fly@fly-vm LIBPNG]$ tar -zxvf zlib-1.2.11.tar.gz
[fly@fly-vm LIBPNG]$ cd zlib-1.2.11/
[fly@fly-vm zlib-1.2.11]$ ./configure --prefix=$PWD/_install
[fly@fly-vm zlib-1.2.11]$ make && make install
### 查看zlib编译结果
[fly@fly-vm zlib-1.2.11]$ cd _install/
[fly@fly-vm _install]$ tree
.
├── include
│   ├── zconf.h
│   └── zlib.h
├── lib
│   ├── libz.a
│   ├── libz.so -> libz.so.1.2.11
│   ├── libz.so.1 -> libz.so.1.2.11
│   ├── libz.so.1.2.11
│   └── pkgconfig
│       └── zlib.pc
└── share└── man└── man3└── zlib.36 directories, 8 files

4.测试

5.参考

5.1.pkg-config原理及用法

libpng的使用 | 在Linux系统下编译、安装与使用相关推荐

  1. linux系统下编译安装gcc库

    概述 一般来说,gcc.g++为linux系统基础组件,不会需要升级,但在安装某些新软件时,需要c++17支持,此时就需要升级gcc.g++. g++包含在gcc库中,所以直接升级gcc即可. gcc ...

  2. Linux的视频分割软件,在Linux系统下编译安装Video Splitter分割视频工具

    Video Splitter是一款视频分割工具,它可让您无损且方便地分割视频,它是用Vala编写的本地GTK程序,用于Linux桌面系统. 特征 很好用且支持众多主流Linux发行版. 无损切割大多数 ...

  3. linux系统下编译运行C++程序

    前提 首先linux系统下要有C++编译环境.可以使用 which gcc which g++ 查看linux系统下是否安装GNU编译器. 编写代码 使用vim命令打开编辑器编写代码 先写一个最简单的 ...

  4. crypto安装_CryptoPP库在Linux系统下的安装与测试

    CryptoPP库在Linux系统下的安装方法比较简单,具体如下: (1)解压源代码压缩包 unzip –a cryptopp700.zip 此处安装的CryptoPP库版本为7.0.0. (2)执行 ...

  5. Linux 系统下Eclipse安装及使用

    Linux 系统下Eclipse安装及使用 (我安装的eclipse为64位,如果需要32位的,自己去下载32位的eclipse) 安装的软件包有:jdk-8u231-linux-x64.tar.gz ...

  6. linux系统下如何github,Linux系统下如何安装和使用GitHub

    下面就来介绍一下Linux系统下如何安装和使用GitHub. 一.安装与配置 虽说Git 预装在所有 Mac 和 Linux 电脑中,但预装的 Git 无一例外都版本陈旧.所以,无论你是使用Mac , ...

  7. linux系统下nginx安装目录和nginx.conf配置文件目录

    linux系统下nginx安装目录和nginx.conf配置文件目录 1.查看nginx安装目录 输入命令 # ps  -ef | grep nginx 返回结果包含安装目录 root      26 ...

  8. centos 6 mysql 5.7.13 编译安装_Centos 6.5系统下编译安装PHP 7.0.13的方法

    PHP7.0正式版也出来了,今天编译安装了一下,写下安装步骤,我是在centos6.6 环境中编译的,下面是详细的安装步骤 环境依赖 yum install gcc gcc-c++ libxml2 l ...

  9. linux通过iso安装php,linux系统下怎么安装iso文件?

    linux系统下怎么安装iso文件? 安装步骤: 1.在/mnt目录下,创建相应的iso文件夹,例如iso. 2.运行以下命令,挂载iso文件mount -o loop /home/tecmint/F ...

  10. Linux系统下detectron2安装(cuda11为例)

    Linux系统下detectron2安装(cuda11为例) detectron2官方Requirements 1.Linux or macOS with Python ≥ 3.6(python版本需 ...

最新文章

  1. mysql 事务处理
  2. 【ARM】Tiny4412裸机编程之GPIO简介
  3. 设计模式在Netty中的应用-观察者模式源码举例
  4. php通过正则表达式下载图片到本地的实现代码,PHP通过正则表达式下载图片到本地的实现代码...
  5. JavaScript之arguments属性
  6. 终于读完Code complete 2nd edtion
  7. Windows编程判断是否为该进程的父进程
  8. 库存管理与订单的控制
  9. android控件布局
  10. java分布式面试题_2021,Java最全的分布式面试题合集附答案,共2w字!
  11. 狂雨小说cms采集规则教程
  12. javascript获取屏幕高度和宽度、监听屏幕大小改变
  13. 26个字母大小写的ASCII码值
  14. Java求某一天是星期几
  15. OTA,一个万亿市场的风口
  16. 带通滤波器参数详细推导
  17. 用数组统计字符串中26个大写字母的个数
  18. 2019-11-14
  19. js使用页面打印window.print() 记录,并进行缩放打印
  20. selenium+python模拟浏览器进入好友QQ空间留言

热门文章

  1. CRITIC权重指标如何计算?
  2. php纯真ip调用,使用php调用纯真IP数据库信息的解析组件
  3. 悟空CRM(PHP版本)安装教程
  4. PX4 编译报错问题解决方法、PX4切换固定版本编译
  5. 巨蟒python全栈开发-第5天 字典集合
  6. php 连接timesten,timesten常见的一些简单问题
  7. 修好了一个罗技鼠标,鼠标左键单击变双击问题解决了。
  8. Filezilla Server使用教程
  9. Android设备通过fastboot刷入TWRP
  10. djangobook的旧版本代码,关于数据库