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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值