旧的Qt4代码迁移到Qt5注意点如下:
1. 错误: 很多的类提示不可用了
Qt4: #include <QtGui>
Qt5: #include <QtWidgets>
这是不太建议这样的写,因为这样会加入过多的头文件包含,建议用到哪一些类,才包含;
2.错误:无法打开包括文件: “QtConcurrent”: No such file or directory
Qt4: #include <QtConcurrent>
Qt5: #include <QtConcurrent/QtConcurrent>
路径变化引起的
3.错误: LNK2001 或 LNK2019 提示无法解析的外部符号 “QGraphicsWidget::XXXX ” “QGraphicsItem::XXXX “
详细错误例子为:
error LNK2001: 无法解析的外部符号 “protected: virtual void __thiscall QGraphicsItem::dragLeaveEvent(class QGraphicsSceneDragDropEvent *)”
如果是使用C++调用Qt4库的方法,容易提示这个,这是由于Qt5把QGraphics
相关移到Qt5Widgets.dll下面,原来的QString、QColor等在Qt5Gui.dll、Qt5Gui.dll下面,
故加入“链接器-》输入-》附加依赖项”
Qt5Widgets.lib
(deubug为Qt5Widgetsd.lib)
(这个找了好久 = =!)