centos7 编译bluez ARM版本及undefined reference to `g_thread_new‘

news2025/7/7 10:48:13

        在我辛辛苦苦编译成功 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

遇到了新的错误

这个错误直接看这篇文章, 解释得很到位,这里我就直接修改Makefile 了gdate error: format not a string literal -Werror=format-nonliteral 错误详解_龙赤子的博客-CSDN博客

踩过这么坑,这次比上次果然顺利了好多了,最后 make install 后,终于找到 g_thread_new 的实现了:

历尽千辛万苦,最后编译 bluez 也终于成功了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/599180.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

英文论文(sci)解读复现【NO.15】学习聚合多尺度背景的实例分割在遥感图像

此前出了目标检测算法改进专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读发表高水平学术期刊中的 SCI论文&a…

基于customerId来实现

定义两个upstream,他们和service及route的关系如下: 这里我们使用 0、将下面的这个spring boot项目在192.168.19.50上进行部署 KongDemoApplication.java package com.example.kongdemo;import org.springframework.beans.factory.annotation.Value; import org…

8个升级到ChatGPT Plus的理由,不升级你就out了

​关注文章下方公众号,可免费获取AIGC最新学习资料 导读:ChatGPT Plus 是 OpenAI 聊天机器人的高级付费版本。以每月 20 美元的价格,该服务为您提供访问 GPT-4,您可以享有令人难以置信的稳定性和更快的响应时间。 本文字数&#…

i18n(国际化)代码简单实现

目录 i18n(国际化)是什么?如何实现 i18n(国际化)是什么? 各个国家都有各个国家的语言,如果网站需要让全世界的人使用,那就需要进行国际化功能开发 国际化我知道的一共有两种&#…

弄懂局部变量

成员变量和局部变量的区别 多个线程调用同一个对象的同一个方法时: 如果方法里无成员变量,那么不受任何影响 如果方法里有成员变量,只有读操作,不受影响 存在写操作,考虑多线程影响值 多线程调用…

【网络原理】网络层 IP 协议

✨个人主页:bit me👇 ✨当前专栏:Java EE初阶👇 目 录 🍀一. IP协议报头格式🌻二. IP 地址🌿三. 路由选择 网络层协议的工作: 地址管理路由选择(规划路径) …

如何解决多个node版本问题?

1. 安装nvm 1.1 下载nvm:https://github.com/coreybutler/nvm-windows/releases 注意:路径中不得有空格 接着的直接下一步直至安装完成 安装完成后,打开安装目录 打开settings.txt文件,文件内容如下 在文档内容后面加上下面两行代…

朴素贝叶斯算法的介绍

一、朴素贝叶斯算法的介绍 1.什么是朴素贝叶斯算法? 朴素贝叶斯算法(Naive Bayes Algorithm)是一种基于贝叶斯定理和特征独立性假设的概率分类算法。它被广泛应用于文本分类、垃圾邮件过滤、情感分析等任务。 朴素贝叶斯算法的基本思想是基…

OpenMMLab AI实战营第二期(1)计算机视觉与OpenMMLab概述

通过今天课程的学习,算是比较大的扩展了我的视野,近期主要学一些强化学习的知识,没有想到计算机视觉领域已经发展的这么迅猛,很多以前只是在脑海里想象的计算机视觉应用场景,原来OpenMMLab已经实现了。我比较对目标检测…

人脸识别(Java+ Face++实现)

人脸识别(Java Face实现) 一. 概述 Face的核心技术是基于深度学习的人脸识别技术,其算法在准确率和速度方面都处于领先地位。该公司的产品和服务包括人脸识别SDK、人脸识别API、人脸比对服务、人脸检测服务、活体检测服务等。这些产品和服务广…

在树莓派3B+上安装Pytorch1.7

在树莓派3B上安装Pytorch1.7(应该是最简单的方法了)_package libopenblas-dev has no installation cand_Chauncey_Wang的博客-CSDN博客由于项目要求,我需要在树莓派上安装pytorch这就有几个问题,首先吧,咱们和外面之间有一道长城&#xff0c…

计算机网络 七大性能指标【速率】【带宽】【吞吐量】【时延】【时延带宽积】【往返时间】【利用率】

计算机网络 速率(bit/s 数据的传送速率)带宽(频域-频带宽度,时域-最高速率)吞吐量(单位时间的 数据量)时延(一端传送到另一端所需的时间)1. 发送时延(发送所用…

来自6种编程语言的祝福:欢乐六一儿童节

六一儿童节的由来是为了纪念在法西斯侵略战争中死难的儿童,反对帝国主义的虐杀和毒害儿童,保障儿童权利。1949年11月,国际民主妇女联合会在莫斯科召开大会,决定每年的6月1日为全世界少年儿童的节日,即国际儿童节。 六一…

RPC(1):软件项目架构变化简述

1单体架构 1.1架构图 单体架构就是一个项目里面包含这个项目中全部代码。一个应用搞定全部功能。 DNS 服务器可以是单映射,也可以配置多个映射。 1.2软件代码结构 在单体架构项目中,团队都是通过包(package)进行区分每个模块。 总体包结构&#xff…

Android进阶 :实现自定义View

Android进阶:实现自定义View 导语 有时候我们会想要实现一些复杂或者是独特的组件效果,这时候系统提供的组件可能不能满足我们的需求,这个时候我们一般就会有两个解决办法,一是上网查找开源的控件库,一些流行的开源库…

【JUnit技术专题】「入门到精通系列」手把手+零基础带你玩转单元测试,让你的代码更加“强壮”(夯实功底篇)

手把手零基础带你玩转单元测试,让你的代码更加“强壮” 前言介绍JUnit是什么?JUnit和xUnit之间的关系 JUnit的基本概念JUnit的特点什么是一个单元测试用例 JUnit的用法JUnit的最佳实践案例分析创建一个类创建 Test Case 类创建 Test Runner 类 JUnit总体…

Web实验二 CSS基本样式实验

实验原理 通过创建CSS样式文件,理解CSS样式基本属性作用及意义。 实验目的 理解CSS基本概念及功能 理解CSS样式的设计原则 理解并掌握CSS样式的基本声明方法 理解并掌握多种CSS选择器的使用方法 理解并掌握字文本、表格、超链接等元素常用属性的使用方法 理解并掌握…

机器人学:DH参数总结(传统DH方法和改进DH方法)

1. 传统DH参数方法 1.1 确定坐标系的方法 定义:杆 i i i的近端是关节 i i i,远端是关节 i 1 i1 i1. 【下面的规则参考上面的图看得更清楚】 对于 n n n自由度机器人,可用以下步骤建立与各杆件 i ( i 0 , 1 , … , n ) i(i0,1,…,n) i(i0,…

【iOS底层探索- Block原理分析-循环引用】

文章目录 前言准备工作1. Block的分类2. Block的内存分析捕获外部变量引用计数的变化堆栈释放的差异总结 3. Block的循环引用3.1 什么是循环引用?案例引入 循环引用解决方法1. 强弱共舞2. 手动中断循环引用3. 参数形式解决循环引用(block传参&#xff09…

汇编指令执行过程及CS与IP和DS寄存器关系与变化

内存指令及寄存器初始值: CS:2000H IP:0 DS:1000H AX:0 BX:0 上面在内存中的汇编指令是如何执行的? 验证: 在debug下用a指令先向内存写入下面指令,然后用u指令查看 mov ax,2000 mov ds,ax mov ax,[0008] mov ax,[0002] 在debug下用a指令先向内存写入下面指令,然后用u指…