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

相关文章

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

pip无法安装osgeo失败的问题解决

《pip无法安装osgeo失败的问题解决》本文主要介绍了pip无法安装osgeo失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 进入官方提供的扩展包下载网站寻找版本适配的whl文件注意:要选择cp(python版本)和你py

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X