【发布时间】: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