您的位置:首页 > 移动开发

QWidget: must construct a QApplication before a QWidget

2016-04-15 18:00 453 查看
记录下自己在遇到此问题的解决办法

出现的现象:

程序中的MainWindow.h和MainWindow.cpp中用到了Qwt

1.当在qt Creator中,选择debug运行时,程序可以正常启动,但切换到release的时候就会出现此错误提示

2.当把程序拷贝到并把一堆dll同时拷贝过去,还是会出现此问题

下面详细说说自己的具体情况:

在工程的pro文件中,关于libs的设置如下:

LIBS   += -L"E:\software\Qt\Qt5.5.1\5.5\mingw492_32\bin" -lqwtd
LIBS   += -L"E:\software\Qt\Qt5.5.1\5.5\mingw492_32\lib" -lqwt


但是自己却在”E:\software\Qt\Qt5.5.1\5.5\mingw492_32\lib”路径下放了libqwt.a和libqwtd.a,删除了libqwtd.a,1的问题就没了。

从解决办法来看,原因可能有两个

1.qwt的dll版本存放路径不对

windows编译出来的qwt dll有两个版本一个是名字带d的用于debug,一个不带d的用于release,最好别放一块

2.缺少相应库或头文件支持

例如第二个问题,拷贝程序到其他的电脑上,运行程序会出现如下错误提示



解决办法:

拷贝platforms文件夹到和程序在同一目录下

platforms的路径是:

……Qt\Qt5.5.1\5.5\mingw492_32\plugins
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt 调试