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

系列文章目录

前言

在这里插入图片描述

一、错误原因?

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

根据字面理解应该是,创建窗体前应该必须先构造一个QApplication。网上很多人也遇到过这样的问题,也确实是这个原因,如下:
在这里插入图片描述
但是小编遇到的问题却不是这个,最后查找的原因是vlc-qt库的debug和release版本混用的原因。
在这里插入图片描述

注意了,这里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,然后再重新构建。

猜你喜欢

转载自blog.csdn.net/aoxuestudy/article/details/125001705