QWidget: Must construct a QApplication before a QWidget 请按任意键继续. . .

系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、错误原因?

前言

QWidget: Must construct a QApplication before a QWidget 请按任意键继续. . ._第1张图片

一、错误原因?

在调试examples工程时,遇到编译报错“QWidget: Must construct a QApplication before a QWidget”

根据字面理解应该是,创建窗体前应该必须先构造一个QApplication。网上很多人也遇到过这样的问题,也确实是这个原因,如下:
QWidget: Must construct a QApplication before a QWidget 请按任意键继续. . ._第2张图片
但是小编遇到的问题却不是这个,最后查找的原因是vlc-qt库的debug和release版本混用的原因。
QWidget: Must construct a QApplication before a QWidget 请按任意键继续. . ._第3张图片

注意了,这里debug库是带d的。

兼容debug和release编译,qt中可以使用以下写法:

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += \
        main.cpp


win32:CONFIG(release, debug|release): LIBS += -L$$PWD/./ -lCartDll
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/./ -lCartDll
#else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/./ -lCartDlld
else:unix: LIBS += -L$$PWD/./ -lCartDll

//静态库路径
LIBS += -L$$PWD/./ -lCartDll

INCLUDEPATH += $$PWD/.
DEPENDPATH += $$PWD/.

注意修改完pro文件后,最好先qmake,然后再重新构建。

你可能感兴趣的:(Qt,qt)