QWidget:在VS Release模式下必须在QPaintDevice之前构造一个QApplication

Posted

技术标签:

【中文标题】QWidget:在VS Release模式下必须在QPaintDevice之前构造一个QApplication【英文标题】:QWidget: Must construct a QApplication before a QPaintDevice in VS Release mode 【发布时间】:2016-05-28 02:26:58 【问题描述】:

当我使用 VS2015 和 Qt 在 Release 模式下运行程序时,我收到一个错误:

程序:E:\qt-everywhere-opensource-src-4.8.3\bin\QtCored4.dll 模块:4.8.3 文件:global\qglobal.cpp 线路:2246 QWidget:必须在 QPaintDevice 之前构造 QApplication (按重试调试应用程序)

而且程序应该链接QtCore4.dll而不是QtCored4.dll,但我不知道为什么程序总是链接QtCored4.dll。

但是,在调试模式下,程序运行良好。

代码如下:

QApplication a(argc, argv);  
GPURenderingApp w;  
w.showMaximized();  
return a.exec();

【问题讨论】:

【参考方案1】:

问题已经解决,我需要链接QVTK.dll的release版本,而不是QVTK.dll的debug版本

【讨论】:

以上是关于QWidget:在VS Release模式下必须在QPaintDevice之前构造一个QApplication的主要内容,如果未能解决你的问题,请参考以下文章

VS在release模式下进行调试

VS在release模式下进行调试

gccrelease模式设置断点

VS中Release模式下生成去掉生成pdb文件

VS系列软件中debug和release编译环境有什么区别

VS中Release模式下生成去掉生成pdb文件