dbus-glib 安装环境搭建

2023-11-21 18:58
文章标签 安装 搭建 环境 dbus glib

本文主要是介绍dbus-glib 安装环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

dbus-glib 安装环境搭建
安装 dbus
apt-get install dbus

安装 d-feet ,用于查看 session bus 和 system bus
apt-get install d-feet

安装 glib2.0
apt-get install libgtk2.0-dev


安装 dbus-glib
apt-get install libdbus-glib-1-dev


 下面三个错误参考http://hi.baidu.com/zengzhaonong/blog/item/670b98d6e63ae42c07088bae.html


常见的错误
错误 1: 
$ gcc test.c
test.c:8:23: 错误: dbus/dbus.h : No such file or director y
......

错误提示, dbus 库的头文件位置不正确 ( 如果已经安装了 dbus 的话 )
$ sudo updatedb
$ sudo locate dbus.h ( 查看 dbus.h 的所在位置 )
/usr/local/include/dbus-1.0/dbus/dbus.h
/usr/include/dbus-1.0/dbus/dbus.h
看来 dbus.h 的存放位置的确不正确,这可能是由于 dbus-1.0 的安装位置有问题,没关系,调整一下 dbus 的头文件位置就可以了 ( 调整方法如下 ):
root@zxl:/usr/include# ln -sf   dbus  ./dbus-1.0/dbus



错误 2: 
$ gcc test.c
在包含自 test.c : 8 的文件中 :
/usr/include/dbus/dbus.h:29:33: 错误: dbus/dbus-arch-deps.h : No such file or directory
......


依然有头文件无法正确定位的问题,从错误提示来看,该文件应该在 /usr/include/dbus/ 目录下,可是进入该目录查看竟然没有,那就在整个系统中查找该文件。 
root@zxl:/usr/include/dbus# locate dbus-arch-deps.h
/usr/local/lib/dbus-1.0/include/dbus/dbus-arch-deps.h
/usr/lib/dbus-1.0/include/dbus/dbus-arch-deps.h
将该文件复制到 /usr/include/dbus 目录下


cp /usr/lib/glib-2.0/include/glibconfig.h /usr/include


 


错误 3: 
$ gcc test.c
......
test.c:(.text+0xbb6): undefined reference to `dbus_message_iter_get_basic'
test.c:(.text+0xbd4): undefined reference to `dbus_message_unref' 
collect2: ld 返回 1 


需要连接动态库 dbus 
$ cd /usr/lib
$ ls *dbus* 
libdbus-1.a   libdbus-1.so.3      libdbus-glib-1.so
libdbus-1.la libdbus-1.so.3.2.0 libdbus-glib-1.so.2
lib dbus-1 . so libdbus-glib-1.a    libdbus-glib-1.so.2.1.0


$ gcc test.c -l dbus-1 -o dbus




以上三个错误是编译底层 dbus 函数遇到的错误。下面的是编译 dbus-glib 程序遇到错误所解决的方法。


ln –sf ./glib-2.0/glib glib
ln –sf ./glib-2.0/gobject ./gobject
 
把 glib.h 文件放到 /usr/include 下
cp ./glib-2.0/glib.h ./
 


把 glib-object.h 放到 /usr/include 下
cp ./glib-2.0/glib-object.h ./
 


编译 dbus-glib 的 makefile 文件



OBJECT=server.o server_marshal.o


CC=gcc


CFLAGS+=-g –Wall


all:$(OBJECT)


      $(CC) $(CFLAGS) –l dbus-1 –l dbus-glib-1 $(OBJECT0 –o server


clean:


      rm *.o



编译单纯 glib 函数的 makefilewenj


OBJECT=glib_test


CC=gcc


CFLAGS+=-g –Wall


all:


      $(CC) $(CFLAGS) –l dbus-glib-1 $(OBJECT).c –o $(OBJECT)




在网上看到的都是用 pkg-config ,但是我这里用不来,不知道为什么?所以的文件都能找到,但是用 pkg-config 却找不到?

来自:http://blog.csdn.net/zfzf294990051/article/details/6303425

这篇关于dbus-glib 安装环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/404390

相关文章

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas