【问题标题】:QtDbus is not working in Qt5.4.1 on Windows 7QtDbus 在 Windows 7 上的 Qt5.4.1 中不起作用
【发布时间】:2015-06-24 11:52:35
【问题描述】:

当我运行 Qt Creator dbus 示例时,它们无法运行,是否有任何设置或东西可用于工作 QtDbus 模块或任何先决条件?

例如在chat项目中:

if (!QDBusConnection::sessionBus().isConnected()) {
    qWarning("Cannot connect to the D-Bus session bus.\n"
             "Please check your system settings and try again.\n");
    return 1;
}

返回1 并终止程序。

【问题讨论】:

  • 你有运行 dbus-daemon 吗?
  • 并不奇怪,因为在 Windows 上运行 D-Bus 是非常不寻常的。也就是说,您可以在此处提交文档错误报告:bugreports.qt.io

标签: qt dbus qt5.4 qtdbus qdbus


【解决方案1】:

终于找到了解决办法:

要使QtDbus 模块正常工作,必须在Windows 中安装第3 方Dbus 模块:

Dbus Windows Installer Download

下载并安装 Dbus 后,无需任何配置即可运行。 (对于工作 QtDbus,dbus-daemon.exe 必须运行)

【讨论】:

  • 如何让 dbus-daemon.exe 运行?似乎它需要一堆参数,我尝试给它 conf 文件的路径,但这没有帮助。我也尝试运行 dbus-launch.exe,似乎也可以做任何事情。
  • Nvm,我只是对命令行不是很有经验 :) dbus-daemon.exe --config-file=..\etc\session.conf 启动它以防有人遇到同样的问题
  • 该链接不再有效。我认为https://code.google.com/archive/p/dbus-windows-installer/downloads 是固定链接,但是我不知道这是否适用于当前版本的 Qt 链接来自 2011 年。
【解决方案2】:

谢谢你,你给了我开始所需的线索。不过,为了与时俱进,让这个话题跟上时代……

我正在使用 Qt 5.7.0,无论我尝试什么,我都无法从您的链接中获取 dbus v1.4.2 或 1.4.6 以使用 Qt。

Qt 5.7.0 似乎需要更新版本的 DBus(我不知道为什么会这样的技术细节)...幸运的是我偶然发现了 1.8.10 预构建:

http://lists.qt-project.org/pipermail/development/2014-December/019502.html

所有的功劳都应该归功于这个包的原始编译器,而不是我,但如果链接断开,我会尽力重新托管和更新,只是放弃 给我一个评论。

Qt5.7.0 中的所有 QDBus 示例都可以在此版本中开箱即用。

对于任何倾向于开始摆弄总线地址、环境变量、配置文件等的人...稍后尝试构建 FIRST!

显然,这个版本只是一个 zip,而不是安装程序 - 所以你需要将“bin”文件夹添加到你的 $PATH。

【讨论】:

    猜你喜欢
    • 2017-04-26
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    相关资源
    最近更新 更多