dbus pc机上开发环境的建立
2015-10-29 15:13
246 查看
这几天开始弄dbus通信协议,理论知识不多说,网上一大堆,基于dbus开发,首先得搭建dbus开发环境,本人用红帽和centos搭建的。
首先下载源码:http://dbus.freedesktop.org/releases/dbus/
里面有各种各样的历史版本,我下载的是最新版本的。(dbus-1.10.2.tar.gz)
tar解压之后,运行./configure出现错误:
后来发现是某个依赖包没有安装,利用yum search expat ,发现:
也就是expat-devel.i686这个依赖包。
运行:yum install expat-devel.i686 安装好这个依赖包之后,再次运行./configure,发现成功了,然后make,make install,这个时候,dbus库就安装到了pc机了。
注意,以上是从dbus下载源码,编译然后安装到pc机上的情况。
下面介绍从yum下载dbus库,yum search dbus,可以发现如下的安装包
yum install *dbus* 这样就安装好了库。
接下来是centos的情况:
centos和红帽差不多,下载源码:http://dbus.freedesktop.org/releases/dbus/
搜索 yum search expat ,安装yum install expat-devel.x86_64,./configure,make, make install,这样就把库安装好了。
用yum的库也和红帽差不多,yum search dbus
挑选出和系统匹配的处理安装,我的是 x86_64的,所用安装所用x86_64的yum包。
环境搭建好了之后,编写好dbus程序,但是会发现很多错误,下面以centos为例解决常见错误。
错误1 dbus/dbus.h : No
such file or directory
这是dbus库的头文件位置不对。进入/usr/include/dbus-1.0/dbus,发现dbus.h在此目录下:
进入/usr/include目录,ln
-sf /usr/include/dbus-1.0/dbus ./dbus 或者cp -rf /usr/include/dbus-1.0/dbus
/usr/include。
错误2
:dbus/dbus-arch-deps.h : No
such file or directory
解决方法
:cp /usr/lib/glib-2.0/include/glibconfig.h /usr/include
错误 3:
(.text+0xbb6): undefined reference to `dbus_message_iter_get_basic'
..........
(.text+0xbd4): undefined
reference to `dbus_message_unref'
这是需要连接动态库
解决方法:
gccsend.c .c
-l dbus-glib-1-osend
特别注意:红帽的系统是用 gcc send.c
-l dbus-glib-1 -o send
下面是解决#include <dbus/dbus-glib.h>错误的方法:
ln –sf ./glib-2.0/glib glib
ln –sf ./glib-2.0/gobject ./gobject
首先下载源码:http://dbus.freedesktop.org/releases/dbus/
里面有各种各样的历史版本,我下载的是最新版本的。(dbus-1.10.2.tar.gz)
tar解压之后,运行./configure出现错误:
后来发现是某个依赖包没有安装,利用yum search expat ,发现:
也就是expat-devel.i686这个依赖包。
运行:yum install expat-devel.i686 安装好这个依赖包之后,再次运行./configure,发现成功了,然后make,make install,这个时候,dbus库就安装到了pc机了。
注意,以上是从dbus下载源码,编译然后安装到pc机上的情况。
下面介绍从yum下载dbus库,yum search dbus,可以发现如下的安装包
yum install *dbus* 这样就安装好了库。
接下来是centos的情况:
centos和红帽差不多,下载源码:http://dbus.freedesktop.org/releases/dbus/
搜索 yum search expat ,安装yum install expat-devel.x86_64,./configure,make, make install,这样就把库安装好了。
用yum的库也和红帽差不多,yum search dbus
挑选出和系统匹配的处理安装,我的是 x86_64的,所用安装所用x86_64的yum包。
环境搭建好了之后,编写好dbus程序,但是会发现很多错误,下面以centos为例解决常见错误。
错误1 dbus/dbus.h : No
such file or directory
这是dbus库的头文件位置不对。进入/usr/include/dbus-1.0/dbus,发现dbus.h在此目录下:
进入/usr/include目录,ln
-sf /usr/include/dbus-1.0/dbus ./dbus 或者cp -rf /usr/include/dbus-1.0/dbus
/usr/include。
错误2
:dbus/dbus-arch-deps.h : No
such file or directory
解决方法
:cp /usr/lib/glib-2.0/include/glibconfig.h /usr/include
错误 3:
(.text+0xbb6): undefined reference to `dbus_message_iter_get_basic'
..........
(.text+0xbd4): undefined
reference to `dbus_message_unref'
这是需要连接动态库
解决方法:
gccsend.c .c
-l dbus-glib-1-osend
特别注意:红帽的系统是用 gcc send.c
-l dbus-glib-1 -o send
下面是解决#include <dbus/dbus-glib.h>错误的方法:
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 ./
注意,路径可能不同,以实际的pc机为准相关文章推荐
- Android开发学习:使用已有的sql数据库
- 实现二叉搜素树迭代器--进军硅谷
- opentld 出错解决方案
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
- cpufreq 五种模式
- @RequestMapping 用法详解之地址映射
- EventUtil 跨浏览器事件处理对象
- AWS免费服务器申请
- 如何使用Android Studio提高App质量
- Mysql事物与Metadata lock 问题
- 计算机冷知识
- 在开始性能测试之前,我们需要知道什么?
- mongo3安装配置系统服务
- 免费的Git私有代码托管服务
- Oracle 物理迁移至新服务器需做配置
- 凸包--HDU - 3285 Convex Hull of Lattice Points
- TrustZone 寄存器相关配置
- 【VBA研究】排序编程代码
- 淘宝动态配置diamond准备工作
- AFNetworking 网络请求