zlib-1.2.11 交叉编译

下载地址

https://www.zlib.net/

编译环境

Ubuntu 18.04.3 LTS

编译配置

假设:

  • 交叉编译工具:arm-linux-
    使用的交叉编译工具版本信息如下:
    Target: arm-linux-gnueabi
    Configured with: --target=arm-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --disable-nls --enable-clocale=gnu --enable-libgomp --disable-libitm --enable-poison-system-directories 
    Thread model: posix
    gcc version 6.3.0 
    
  • 交叉编译结果安装目录:/home/user/cross-compile/

配置及编译:

  1. 配置编译参数:
    ./configure --prefix=/home/user/cross-compile/zlib --shared --static
  • –prefix:指定安装目录
  • –shared:编译生成.so动态库
  • –static:编译生成.a静态库
  1. 修改Makefile,如下:

    CC=arm-linux-gcc
    
    CFLAGS=-O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN
    #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
    #CFLAGS=-g -DZLIB_DEBUG
    #CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
    #           -Wstrict-prototypes -Wmissing-prototypes
    
    SFLAGS=-O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN
    LDFLAGS=
    TEST_LDFLAGS=-L. libz.a
    LDSHARED=arm-linux-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map
    CPP=arm-linux-gcc -E
    
    STATICLIB=libz.a
    SHAREDLIB=libz.so
    SHAREDLIBV=libz.so.1.2.11
    SHAREDLIBM=libz.so.1
    LIBS=$(STATICLIB) $(SHAREDLIBV)
    
    AR=arm-linux-ar
    ARFLAGS=rc
    RANLIB=arm-linux-ranlib
    LDCONFIG=ldconfig
    LDSHAREDLIBC=-lc
    TAR=tar
    SHELL=/bin/sh
    EXE=
    
    prefix =/home/user/work/arm/zlib
    exec_prefix =${prefix}
    libdir =${exec_prefix}/lib
    sharedlibdir =${libdir}
    includedir =${prefix}/include
    mandir =${prefix}/share/man
    man3dir = ${mandir}/man3
    pkgconfigdir = ${libdir}/pkgconfig
    SRCDIR=
    ZINC=
    ZINCOUT=-I.
    
  2. 执行make,以及make install;

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: zlib-1.2.11是一种常见的数据压缩库,常用于压缩和解压缩文件。它提供了高效的压缩率和快速的解压缩速度,可以被广泛应用于各种计算领域。 zlib-1.2.11的主要特点是其简单的API和领先的压缩算法。它支持多种压缩级别,可以在不同的应用场景中找到最好的速度和压缩比例的平衡点。此外,zlib-1.2.11还提供了能够在压缩和解压缩期间使用的流式API,并且可以用于动态压缩和解压缩,例如在实时流媒体传输中。 除了常见的数据压缩任务,zlib-1.2.11也可以被用于其他领域。例如,它可以被用于加密和解密数据,以及用于网络通信和存储系统中的数据压缩和解压缩。 总之,zlib-1.2.11是一种高性能、多用途的数据压缩库,可被广泛应用于各种计算领域,包括通信、存储和嵌入式系统。 ### 回答2: Zlib是一个广泛使用的压缩库,其最新版本号是1.2.11。该库可以实现高效的数据压缩和解压缩,并提供了可移植的、高度兼容的API。Zlib压缩算法的特点是速度快、压缩率高、内存占用小,目前被广泛应用于各种领域,诸如数据传输、数据库存储、音频和视频压缩等。 Zlib库由一组C语言函数模块组成,包括压缩和解压缩函数、内存管理函数、文件操作函数等。同时,该库具有跨平台的优势,在多种操作系统上均可编译和使用。另外,其协议为自由软件许可证,使用非常灵活。 Zlib-1.2.11版本是Zlib的最新版本,相比于之前版本,增加了一些新功能和改进,例如支持更多压缩算法、优化内存消耗、添加新的错误检测等。具体而言,新版本加强了文件头的检查、增强了压缩和解压性能、避免包含敏感信息等,保证了数据的有效性和安全性。 总之,Zlib-1.2.11是一个功能强大、使用方便、兼容性高的压缩库,在数据处理过程中扮演着重要的角色。 ### 回答3: zlib-1.2.11 是一种非常流行的数据压缩和解压缩库,被广泛应用于软件开发和网络传输中。它采用了 DEFLATE 算法进行压缩,并在此基础上添加了一些额外的功能,如支持 BZIP2、LZMA 和 ZSTD 等压缩格式。zlib-1.2.11 的使用非常方便,只需要调用少量的 API 就可以完成数据的压缩和解压缩操作。此外,它还具有高效、快速、轻量、可移植和免费等优点,被广泛应用于各种软件开发语言和操作系统平台中。值得一提的是,zlib-1.2.11 还被用作许多其他软件的基础库,如 Apache、nginx、curl、Git 等等。总的来说,zlib-1.2.11 是一款非常优秀的数据压缩和解压缩库,它在软件开发、网络传输等领域发挥着重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值