1.准备依赖库
glib 除了本身以外,还需要依赖libtinfo、zlib、ncurses
各个库版本以及下载链接:
zlib-1.2.11: zlib Home Site
libffi-3.3:libffi
gettext-0.20.1:gettext - GNU Project - Free Software Foundation
glib-2.45.2:Index of /sources/glib/
2. 编译依赖库
设置环境变量,方便后续编译
export INSTALL_PATH=/customer/glib_app
export ARM_USR=/customer/usr_lib
2.1 Zlib
CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar RANLIB=arm-linux-gnueabihf-ranlib LD=arm-linux-gnueabihf-ld ./configure -prefix=$INSTALL_PATH/zlib-1.2.11/install
make && make install
cp -rf install/* $ARM_USR
2.2 libffi
./configure --prefix=$INSTALL_PATH/libffi-3.3/install --host=arm-linux --target=arm-linux CC=arm-linux-gnueabihf-gcc
make && make install
cp -rf install/* $ARM_USR
2.3 gettext
./configure --prefix=$INSTALL_PATH/gettext-0.20.1/install --disable-libasprintf --host=arm-linux --target=arm-linux CC=arm-linux-gnueabihf-gcc
make && make install
cp -rf install/* $ARM_USR
3. 编译glib
3.1 安装依赖工具
apt-get install libglib2.0-dev
3.2 编译glib
echo ac_cv_type_long_long=yes>>arm-linux-gnueabihf.cache
echo glib_cv_stack_grows=no>>arm-linux-gnueabihf.cache
echo glib_cv_uscore=no>>arm-linux-gnueabihf.cache
echo ac_cv_func_posix_getpwuid_r=yes>>arm-linux-gnueabihf.cache
echo ac_cv_func_posix_getgrgid_r=yes>>arm-linux-gnueabihf.cache
./configure --prefix=$INSTALL_PATH/glib-2.45.2/install --host=arm-linux --target=arm-linux CC="arm-linux-gnueabihf-gcc" CFLAGS=-I$ARM_USR/include LDFLAGS=-L$ARM_USR/lib LIBS="-lz -lffi" --cache-file=arm-linux-gnueabihf.cache
make && make install
3.3 遇到的问题,以及解决方法:
在gdate.c 开头添加
#pragma GCC diagnostic ignored "-Wformat-nonliteral"