【问题标题】:Setting QT_DEBUG_PLUGINS fails设置 QT_DEBUG_PLUGINS 失败
【发布时间】:2015-12-20 07:58:26
【问题描述】:

我已阅读此博文http://www.ics.com/blog/qt-tips-and-tricks-part-1 并尝试按照所述启用插件调试。

我已将这一行放在我的 main.cpp 中:

qputenv(QT_DEBUG_PLUGINS, 1);

但是如果我尝试编译我会收到这个错误:

.../src/main.cpp:14: error: 'QT_DEBUG_PLUGINS' was not declared in this scope
qputenv(QT_DEBUG_PLUGINS, -1);

这里有什么问题,我必须如何正确处理?

qputenv("QT_DEBUG_PLUGINS", QByteArray("1"));

但我没有得到任何额外的输出。

我在 KUbuntu 15.10 下使用 Qt5.5.1 和 QtCreator 3.6。

【问题讨论】:

  • qputenv 中可能存在的问题:在 QT_DEBUG_PLUGINS 周围加上引号,qputenv 中的第二种类型是 QByteArray。没有来自 int 的 QByteArray 的构造函数。
  • 这就是问题所在。现在它编译了。谢谢你。但我不会得到任何额外的输出。
  • 你应该从你的程序外部设置环境变量,而不是从内部!当您到达该行时,您感兴趣的插件加载很可能已经发生。尝试在创建 Q*Application 对象之前放置它。
  • 就是这样。它肯定是在插件加载之前设置的,但在创建Q*Application 之前设置它似乎很重要,就像你写的那样。谢谢。

标签: c++ qt debugging plugins qt5


【解决方案1】:

你应该从你的程序外部设置环境变量,而不是从内部!当您到达该行时,您感兴趣的插件加载很可能已经发生。尝试在创建 Q*Application 对象之前放置它。 – 佩佩

就是这样。它肯定是在插件加载之前设置的,但在创建 Q*Application 之前设置它似乎很重要,就像你写的那样。谢谢你。 – avb

【讨论】:

    猜你喜欢
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 2016-04-30
    • 2013-08-02
    相关资源
    最近更新 更多