下载地址
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/
配置及编译:
- 配置编译参数:
./configure --prefix=/home/user/cross-compile/zlib --shared --static
- –prefix:指定安装目录
- –shared:编译生成.so动态库
- –static:编译生成.a静态库
-
修改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.
-
执行make,以及make install;