Qt for Windows版本下编译QtDBus模块
2010-08-27 11:00
525 查看
转载时请注明出处和作者联系方式
作者联系方
式:Lutx <80437 at zj dot com>
Qt中已经包含了QtDBus模块,
但此模块只能在Unix系统下使用, 却不支持Windows系统. 这里介绍的是Windows系统下如何生成QtDBus库,
并通过Qt的例子和工具来演示DBus的运行和通讯. 欢迎交流和指正.
说明: 以下步骤的软件版本分别为, Qt -
4.6.0 for msvc, QtCreator - 1.3.0, winDBus - 1.2.4, 这些都可以在网上下载到.
整个过程分为4
个步骤
:
A. 生成
QtDBus
动态库
:
1.
在QtCreator
中打开
[QT-dir]/src/dbus/dbus.pro
项目
;
[QT-dir]为Qt的安装目录, 比如C:/Qt/4.6.0;
2. 找到INCLUDEPATH
行
# INCLUDEPATH += .
修
改为
INCLUDEPATH += . [winDBus-dir]/include
LIBS_PRIVATE += -L[winDBus-dir]/lib
其
中"[winDBus-dir]"
为
winDBus
的所在目录
. 这里是要把winDBus的头文件和库文件加到项目路径中.
3.
生成项目.
完成后在
[QT-dir]/bin
目录下会生成
QtDBus4.dll
以及
QtDBusd4.dll
文件
,
在
[QT-dir]/lib
目录下会生成
QtDBus4.lib
以及
QtDBusd4.lib
以及上述的两个
dll
文件
.
B:生成
QtDBus Tools
1.
在QtCreator
中打开
[QT-dir]/tools/qdbus/qdbus.pro,
生成项目
2.
结束后会在[QT-dir]/bin
目录下生成四个可执行文件
qdbus*.exe
C:生成
QtDBus
例子
1.
在QtCreator
中打开
[QT-dir]/exmaples/dbus/dbus.pro,
生成项目
2.
结束后会在examples
目录的各自的子目录下生成可执行文件
D: 运行
Qt
的
Remote Control Car
例子
下
面来运行一下例子中的遥控车的程序.
1.
首先启动windbus service,
打开命令行窗口
cmd,
执行
cd [winDBus-dir]/bin
dbus-daemon --config-file=../etc/session.conf
2.
启动Qt
工具
qdbusviewer([QT-dir]/bin/qdbusviewer.exe)
来查询
DBus
总线和接口
,
该程序是上述步骤
B
中生成的
.
如果显示
"
Error:
Cannot connect to D-Bus: ", 原因是因为无法加载
dbus-1.dll,
可以将此文件从
winDBus/bin目录下复制到
[QT-dir]/bin
目录下
,
也可以将
winDBus/bin
的目录加到环境变量
PATH
中
.
另外启动此程序还需要环境变量
DBUS_SESSION_BUS_ADDRESS(
见
[winDBus-dir]/bin/dbus-env.bat
文件
),
设置
set DBUS_SESSION_BUS_ADDRESS=tcp:host=localhost,port=12434
也可以在
命令行窗口中通过执行以下命令来执行:
[winDBus-dir]/bin/dbus-env.bat
[QT-dir]/bin/qdbusviewer.exe
启动后应该可以考到DBus
总线服务
org.freedesktop.DBus
以及
相应的方法
3.
启动遥控汽车程序([QT-dir]/examples/dbus/remotecontrolledcar/car/release/car.exe),
这时候
,
在
qdbusviewer
的
Service
栏目中会多出一个服务
, com.trolltech.CarExample
4.
启动遥控器程序([QT-dir]/examples/dbus/remotecontrolledcar/controller/release/controller.exe),
程序会自动连接刚才启动的
car
程序
,
利用界面上的
4
个按钮可以控制汽车的运动
.
以上就是生成QtDBus模块的过程,
接下来就是利用它来编写应用程序. 刚接触DBus, 欢迎熟悉的朋友交流DBus应用方面的经验.
作者联系方
式:Lutx <80437 at zj dot com>
Qt中已经包含了QtDBus模块,
但此模块只能在Unix系统下使用, 却不支持Windows系统. 这里介绍的是Windows系统下如何生成QtDBus库,
并通过Qt的例子和工具来演示DBus的运行和通讯. 欢迎交流和指正.
说明: 以下步骤的软件版本分别为, Qt -
4.6.0 for msvc, QtCreator - 1.3.0, winDBus - 1.2.4, 这些都可以在网上下载到.
整个过程分为4
个步骤
:
A. 生成
QtDBus
动态库
:
1.
在QtCreator
中打开
[QT-dir]/src/dbus/dbus.pro
项目
;
[QT-dir]为Qt的安装目录, 比如C:/Qt/4.6.0;
2. 找到INCLUDEPATH
行
# INCLUDEPATH += .
修
改为
INCLUDEPATH += . [winDBus-dir]/include
LIBS_PRIVATE += -L[winDBus-dir]/lib
其
中"[winDBus-dir]"
为
winDBus
的所在目录
. 这里是要把winDBus的头文件和库文件加到项目路径中.
3.
生成项目.
完成后在
[QT-dir]/bin
目录下会生成
QtDBus4.dll
以及
QtDBusd4.dll
文件
,
在
[QT-dir]/lib
目录下会生成
QtDBus4.lib
以及
QtDBusd4.lib
以及上述的两个
dll
文件
.
B:生成
QtDBus Tools
1.
在QtCreator
中打开
[QT-dir]/tools/qdbus/qdbus.pro,
生成项目
2.
结束后会在[QT-dir]/bin
目录下生成四个可执行文件
qdbus*.exe
C:生成
QtDBus
例子
1.
在QtCreator
中打开
[QT-dir]/exmaples/dbus/dbus.pro,
生成项目
2.
结束后会在examples
目录的各自的子目录下生成可执行文件
D: 运行
Qt
的
Remote Control Car
例子
下
面来运行一下例子中的遥控车的程序.
1.
首先启动windbus service,
打开命令行窗口
cmd,
执行
cd [winDBus-dir]/bin
dbus-daemon --config-file=../etc/session.conf
2.
启动Qt
工具
qdbusviewer([QT-dir]/bin/qdbusviewer.exe)
来查询
DBus
总线和接口
,
该程序是上述步骤
B
中生成的
.
如果显示
"
Error:
Cannot connect to D-Bus: ", 原因是因为无法加载
dbus-1.dll,
可以将此文件从
winDBus/bin目录下复制到
[QT-dir]/bin
目录下
,
也可以将
winDBus/bin
的目录加到环境变量
PATH
中
.
另外启动此程序还需要环境变量
DBUS_SESSION_BUS_ADDRESS(
见
[winDBus-dir]/bin/dbus-env.bat
文件
),
设置
set DBUS_SESSION_BUS_ADDRESS=tcp:host=localhost,port=12434
也可以在
命令行窗口中通过执行以下命令来执行:
[winDBus-dir]/bin/dbus-env.bat
[QT-dir]/bin/qdbusviewer.exe
启动后应该可以考到DBus
总线服务
org.freedesktop.DBus
以及
相应的方法
3.
启动遥控汽车程序([QT-dir]/examples/dbus/remotecontrolledcar/car/release/car.exe),
这时候
,
在
qdbusviewer
的
Service
栏目中会多出一个服务
, com.trolltech.CarExample
4.
启动遥控器程序([QT-dir]/examples/dbus/remotecontrolledcar/controller/release/controller.exe),
程序会自动连接刚才启动的
car
程序
,
利用界面上的
4
个按钮可以控制汽车的运动
.
以上就是生成QtDBus模块的过程,
接下来就是利用它来编写应用程序. 刚接触DBus, 欢迎熟悉的朋友交流DBus应用方面的经验.
相关文章推荐
- Qt for Windows版本下编译QtDBus模块
- Qt for Windows版本下编译QtDBus模块
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)
- Qt for Windows:Qt 5.9.3 MinGW 静态编译版本(包含OpenSSL)
- 在 Windows 7 上编译 QtAudioEngine 模块
- QT4.7.0 Windows版本编译过程
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作
- Qt for Windows:Qt 5.8.0 MinGW 静态编译版本(包含OpenSSL)
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作
- Qt for Windows:Qt 5.9.0 MinGW 静态编译版本(包含OpenSSL)
- 编译QT for Windows
- Qt for Windows:Qt 5.5 MinGW 静态编译版本制作带Mysql
- Windows下跨VC版本编译.pyd扩展(extension)模块
- gentoo下编译arm64版本Qt5.5 for android
- QT的编译安装(以4.2.3 for windows为例) [打印本页]
- Qt for Windows:Qt 5.8.0 MinGW 静态编译版本(包含OpenSSL)
- Qt for Visual Studio 版本中编译报 qtmaind.lib问题
- Qt for Windows:Qt 5.6.0 MinGW 静态编译版本制作
- quick-cocos2d-x Qt版本在windows上遇到的编译问题 LNK2001 !