首先我们知道,QT官方声明它的dbus封装是不支持windows平台的。但我们也知道,经过处理后,它可以支持windows平台。
关于如何编译出windows平台下qt能用的dbus库,网上有几个文章可以参考。但里面含有几个陷阱,如果不注意,将会卡在那里。
1. 首先要用dbus官网的dbus源码编译出windows下能用的库,这里面是低级的api,供qt源码使用的。详见http://blog.csdn.net/Bronze83/article/details/6153744
2. 用qt4.7.4编译,需要找到 src/corelib/global/qconfig.h,找到#if defined(QT_NO_DBUS) && defined(QT_DBUS)
# undef QT_NO_DBUS
#elif !defined(QT_NO_DBUS)
# define QT_NO_DBUS
#endif
将这些行注释掉。不然没法编译。
如果按网上所讲的例子用qt4.6.3,src和tools可以编译,但example链接不过。
3. 编译方法可以参照http://www.cnblogs.com/mxly/archive/2011/01/06/1927604.html ,dbus库可以设置到项目属性也可以直接拷贝头文件和lib文件到vs目录。