Qt——QWidget: “Must construct a QApplication before a QWidget”

写在前面

这个BUG说起来要解决也很简单。C++确实要细心。参考文献:

  • 怪异问题:qwidget: must construct a qapplication before a qpaintdevice
  • 详解:qwidget: must construct a qapplication before a qpaintdevice VS报错

BUG描述

编译没有问题,顺利通过。运行时没有按照预计弹出窗口,什么都没有,查看输出窗口,如下提示:

QWidget: Must construct a QApplication before a QWidget
线程 0x3e78 已退出,返回值为 1 (0x1)。
线程 0x3e90 已退出,返回值为 1 (0x1)。
线程 0x3db8 已退出,返回值为 1 (0x1)。
程序“[14760] VPS_vs2015x64.exe”已退出,返回值为 1 (0x1)。

解决方法

按照博客里说的,当然,原理没有仔细深究。我仔细对照了一遍自己项目属性中配置的链接库目录的库名。果然发现,除了Debug的库,还有Release的库。区别就是名字后面带不带d嘛,这个是编译这些第三方库的时候就设置好的。所以,把这些Release的库删掉,剩下的确定都是Debug的库。问题就好解决了。重新运行,问题果然解决。

你可能感兴趣的:(Bug,And,Debug)