我使用这些说明编译了 Qt 4.8.1:http: //www.holoborodko.com/pavel/2011/02/01/how-to-compile-qt-4-7-with-visual-studio-2010/
对于我的系统(Visual Studio 2010,x64)。编译工作正常,一切似乎都很好。虽然编译有很多输出,但它非常快,因此我无法阅读它,所以我想这应该不是问题。
在我成功编译当前项目后,我得到了一个未处理的运行时异常。过了一会儿,我发现它来自QMdiArea::addSubwindow
函数,这似乎引发了异常(虽然我无法使用覆盖的通知函数来捕获它)。所以我搜索了一个示例项目,看看它是我的代码还是其他东西。我在这里找到了这个例子:http:
//www.codeprogress.com/cpp/libraries/qt/qMdiAreaAddSubWindow.php
它在 32 位模式和 x64 的调试模式下都可以正常工作,但在
QMdiArea::addSubwindow
函数中再次出现未处理的异常。有谁知道出了什么问题或有同样的问题?
目前我正在重新编译 Qt 以再次获取调试信息(我事先清理了它)。
但也许有人对我有同样的问题和解决方案。
//更新:代码在这里(与链接中的完全相同)
#include <QApplication>
#include <QMainWindow>
#include <QMdiArea>
#include <QMdiSubWindow>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QMainWindow window;
window.setFixedSize(800,600);
window.setWindowTitle(QString::fromUtf8("My QMdiWindow"));
QMdiArea* area = new QMdiArea();
area->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
//Create QMdiSubWindow
QMdiSubWindow* subWindow = new QMdiSubWindow();
subWindow->setFixedSize(200,100);
//Add subWindow to Main QMdiWindow here
area->addSubWindow(subWindow);
window.setCentralWidget(area);
window.show();
return app.exec();
}
//Update2:我在这里打开了另一个讨论。