这里需要强调一下:libc、glibc、glib是不同的库!
glibc和 libc 都是 Linux 下的 C 函数库,而glib是GTK+的基础库
libc 是 Linux 下的 ANSI C 函数库;glibc 是 Linux 下的 GUN C 函数库。
编译binutils
http://ftp.gnu.org/gnu/binutils/
Binutils是GNU工具之一,它包括链接器、汇编器和其他用于目标文件和档案的工具,它是二进制代码的处理维护工具。
介绍https://sourceware.org/binutils/
zlib 编译
http://www.zlib.net/fossils/
export CC=aarch64-linux-gnu-gcc
export AR=aarch64-linux-gnu-ar
export RANLIB=aarch64-linux-gnu-ranlib
./configure --prefix=$PWD/arm-install --includedir=/usr/aarch64-linux-gnu/include --libdir=/usr/aarch64-linux-gnu/lib --shared
ranlib – 更新库的有效符号表
cp libz.a /usr/aarch64-linux-gnu/lib
chmod 644 /usr/aarch64-linux-gnu/lib/libz.a
cp libz.so.1.2.8 /usr/aarch64-linux-gnu/lib
chmod 755 /usr/aarch64-linux-gnu/lib/libz.so.1.2.8
cp zlib.3 /home/zys/work/tool/zlib-1.2.8/arm-install/share/man/man3
chmod 644 /home/zys/work/tool/zlib-1.2.8/arm-install/share/man/man3/zlib.3
cp zlib.pc /usr/aarch64-linux-gnu/lib/pkgconfig
chmod 644 /usr/aarch64-linux-gnu/lib/pkgconfig/zlib.pc
cp zlib.h zconf.h /usr/aarch64-linux-gnu/include
chmod 644 /usr/aarch64-linux-gnu/include/zlib.h /usr/aarch64-linux-gnu/include/zconf.h
cp zlib.pc zlib-arm.pc
sudo mv zlib-arm.pc /usr/local/lib/pkgconfig/
通过pkg-config --cflags zlib-arm 可以找到路径 说明ok
zlib 编译问题
../configure --prefix=$PWD/../arm-install CC=aarch64-linux-gnu-gcc --host=aarch64-linux-gnu
这种方式编译会导致下面的问题,
链接器用的x86,库是arm的