解压后,在源码根目录下创建glib.cache
glib_cv_long_long_format=ll
glib_cv_stack_grows=no
glib_cv_have_strlcpy=no
glib_cv_have_qsort_r=yes
glib_cv_va_val_copy=yes
glib_cv_uscore=no
glib_cv_rtldglobal_broken=no
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_posix_getgrgid_r=yes
执行配置,不要在build目录里
./configure --prefix=$PWD/arm-install CC=aarch64-linux-gnu-gcc --host=aarch64-linux-gnu LIBFFI_CFLAGS="-I/home/zys/tool/libffi-3.4.2/arm-install/include" LIBFFI_LIBS="-lffi -L/home/zys/tool/libffi-3.4.2/arm-install/lib" --cache-file=./glib.cache --disable-selinux --disable-xattr --disable-libelf
报错
gdate.c:2497:7: error: format not a string literal, format string not checked [-Werror=format-nonliteral]
tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
解决:tmplen = strftime 前后增加pragma
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
#pragma GCC diagnostic pop
报错 gdbusauth.c:1298:11: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
1298 | debug_print (“SERVER: WaitingForBegin, read ‘%s’”, line);
解决 增加判断指针非空
报错 gdbusmessage.c:2698:30: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
2698 | tupled_signature_str = g_strdup_printf (“(%s)”, signature_str);
解决 增加判断指针非空
编译成功
/home/zys/tool/glib-2.48.2/arm-install
x86版本 LCM requires GLib >= 2.0 解决 sudo apt-get install glib2.0 -y