本文共 1764 字,大约阅读时间需要 5 分钟。
glib是干啥的我没有研究,反正编译器他东西需要这个
当前的最新版本2.65.5 好像都不是用的make来编译的了
上一个大版本2.5 对比2.4加了很多其他依赖,
我这里用的2.4版本
参考
版本呢我也用的2.45.3
编译器6.3的
依赖库 libffi zlib 略 很简单的 标准流程就可以解决
error: format not a string literal, format string not checked后
打开对应文件 把g_date_strftime函数如下操作
#pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wformat-nonliteral" g_date_strftime () #pragma GCC diagnostic pop确实路径已经指定了依旧报错,只能复制到编译器目录下才没问题
不过我只有两个问题 一个是 libffi* 我的libz没有报错 。另一个是 libgmodule-2.0.so 这个明明是glib自己生成的页抱错,一起复制到编译器目录
libffi* libgmodule-2.0.so* ~/tools/arm-linux/arm-linux-gnueabihf/libc/lib
glib-genmarshal问题大概是因为编译过程需要用到这个东西,脚本中PATH临时指定一下就可以了
脚本中export不会影响你当前环境变量的
#!/bin/bashset -e#编译PC版本if [ ! -d "install/pc" ];thenecho ac_cv_type_long_long=yes>glib.cacheecho glib_cv_stack_grows=no >>glib.cacheecho glib_cv_uscore=no>>glib.cacheecho ac_cv_func_posix_getpwuid_r=yes>>glib.cacheecho ac_cv_func_posix_getgrgid_r=yes>>glib.cache./autogen.sh./configure --prefix=${PWD}/install/pc --cache-file=glib.cachemake cleanmakemake installmake cleanfi#编译arm版本echo ac_cv_type_long_long=yes>glib.cacheecho glib_cv_stack_grows=no >>glib.cacheecho glib_cv_uscore=no>>glib.cacheecho ac_cv_func_posix_getpwuid_r=yes>>glib.cacheecho ac_cv_func_posix_getgrgid_r=yes>>glib.cacheexport PATH=$PATH:${PWD}/install/pc/binROOT=/home/tanic/installF_PATH=/home/tanic/cups-filter/installexport CFLAGS="-fPIC -I${ROOT}/include -I${F_PATH}/include "export CPPFLAGS="-fPIC -I${ROOT}/include -I${F_PATH}/include "export LDFLAGS="-L${ROOT}/lib -L${F_PATH}/lib "export PKG_CONFIG_PATH=${F_PATH}/lib/pkgconfigexport LIBS="-lffi "export CC="arm-linux-gnueabihf-gcc"./configure --host=arm-linux --cache-file=glib.cache --disable-selinux --disable-xattr --disable-libelf --prefix=${PWD}/_install #make cleanmakemake install
转载地址:http://oqoxi.baihongyu.com/