风中落叶

顾毅的博客

Qt

Qt备忘录之二:Qt4.x向Qt5.x迁移的问题

| 这篇文章还没有评论

由于最终确定要以Qt5.4作为后续的工程库,刚把Qt的版本升到了5.4,同时VS的版本也升到了2010。幸好还没有大规模的代码迁移,否则单是Qt上就有许多东西要改。目前的开发环境是VS2010+.0+-vs-addin-1.2.4。本文对Qt4.x向Qt5.x迁移过程中遇到的一点问题进行总结。

下面是《 GUI Programming with Qt 4 2nd Edition》中的一个例子:

hello.cpp:

#include <QApplication>
#include <QLabel> 

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QLabel *label = new QLabel("Hello Qt!");
    label->;show();
    return app.exec();
}

然后,编译不通过,错误信息是:

报错信息

C1083: 无法打开包括文件:“QApplication”: No such file or directory

什么?找不到头文件?

查了一圈的资料,才知道,Qt5.x与Qt4.x相比,不少类进行了调整,本例中用到的QApplication就由原先的QtGui调整到了QtWidgets中。据说,解决方法也很简单,在.pro文件中添加一句:

QT += widgets

之后重新“构建”。咦?还是原来的错误?

兜兜转转终于在Qt的官方论坛(http://www.qtcentre.org/threads/53157-C1083-Cannot-open-include-file-QApplication)中找到解决方法:

解决步骤

重新qmake,之后再“构建”,一切OK了。

这么看,Qt5.x与Qt4.x还是有不少差异。后面可能还会陆续出现类似的问题,遇到比较特殊的,将继续补充在本文中。

二零一五年三月六日

顾毅 写于厦门

» 订阅本站:http://www.xiamengy.net/
» 除非注明,本站文章均属原创。转载请注明来源:风中落叶——顾毅的博客 » Qt备忘录之二:Qt4.x向Qt5.x迁移的问题

发表评论

Required fields are marked *.