在我辛辛苦苦编译成功 glib 库后(看我上一篇文章 centos7 glib2.0 arm版本的编译),以为可以顺利编译我的 bluez ARM 版本,结果出现了最后一个错误(其中一个是私有库里的),如:
就是这个 g_thread_new 没有找到实现,然后在网上搜了半天,都说是 glib 库里的实现,但我在昨天下载的glib代码里都没有发现:
甚至在已经生成的glib目录下,也找不到相关的符号:
最后想到是不是还是 glib 版本不对,可能 glib 版本过低了?于是下载了好几个版本的 glib,最后皇天不付有心人啊,真的是版本过低了,真想干死这个 glib。
我下载的是2.40.0 版本的:wget http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.40/glib-2.40.0.tar.xz。简直要崩溃啊,那我编译的 glib-2.30.0 版本不是白白浪费我的时间了吗?此处有很多草泥马路过!!!!!
然后跟前一篇文章一样,从头开始编译,好在之前都踩过好多坑,这次按部就班操作:
./configure --prefix=/usr/local/glib --host=arm-himix200-linux --cache-file=arm-himix200-linux.cache CC="arm-himix200-linux-gcc" LIBFFI_CFLAGS=/usr/local/lib/libffi-3.0.13/include/
arm-himix200-linux.cache 文件里同样地添加了这些:
ac_cv_func_qsort_r=no
glib_cv_stack_grows=no
glic_cv_uscore=no
glib_cv_uscore=no
ac_cv_func_posix_getpwuid_r=no
ac_cv_func_posix_getgrgid_r=no
遇到了新的错误
这个错误直接看这篇文章:gdate error: format not a string literal -Werror=format-nonliteral 错误详解_龙赤子的博客-CSDN博客
解释得很到位,这里我就直接修改Makefile 了,把那个-Werror=format=2编译选项删掉。
踩过这么坑,这次比上次果然顺利了好多了,最后 make install 后,终于找到 g_thread_new 的实现了:
历尽千辛万苦,最后编译 bluez 也终于成功了文章来源:https://www.toymoban.com/news/detail-468349.html
文章来源地址https://www.toymoban.com/news/detail-468349.html
到了这里,关于centos7 编译bluez ARM版本及undefined reference to `g_thread_new‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!