• Project Move from Qt 4 to Qt 5 项目工程的迁移


    将Qt4的项目迁到Qt5中并不需要新建一个Qt5的工程,可以直接在原工程文件上修改,这里我们使用的是VS2010和Qt5.4的环境,我们需要做以下修改:

    1. 在工程里找到这个文件:工程名.vcxproj.user,将里面的Qtdir路径修改为:C:Qt5.4msvc2010_opengl。我的是在C盘。

    2. 此时编译可能会有大量报错,主要是Qt5中模块的位置移动了很多,主要分下面三大块来修改:

    QtGui/
    
    #include <QMouseEvent> 改为 #include <QtGui/QMouseEvent>
    
    #include <QPalette> 改为 #include <QtGui/QPalette>
    
    #include <QKeyEvent> 改为 #include <QtGui/QKeyEvent>
    
    #include <QDesktopServices> 改为 #include <QtGui/QDesktopServices>
    
    #include <QImage> 改为 #include <QtGui/QImage>
    
    #include <QImageReader> 改为 #include <QtGui/QImageReader>
    
    
    QtCore/
    
    #include <QTimer> 改为 #include <QtCore/QTimer>
    
    #include <QDir> 改为 #include <QtCore/QDir>
    
    #include <QXmlStreamWriter> 改为 #include <QtCore/QXmlStreamWriter>
    
    #include <QSignalMapper> 改为 #include <QtCore/QSignalMapper>
    
    #include <QDebug> 改为 #include <QtCore/QDebug>
    
    #include <QUrl> 改为 #include <QtCore/QUrl>
    
    #include <QSettings> 改为 #include <QtCore/QSettings>
    
    #include <QFile> 改为 #include <QtCore/QFile>
    
    #include <QString> 改为 #include <QtCore/QString>
    
    #include <QCoreApplication> 改为 #include <QtCore/QCoreApplication>
    
    #include <QAbstractItemModel> 改为 #include <QtCore/QAbstractItemModel>
    
    #include <QStringList> 改为 #include <QtCore/QStringList>
    
    #include <QObject> 改为 #include <QtCore/QObject>
    
    
    QtWidgets/
    
    #include <QtGui/QApplication> 改为 #include <QtWidgets/QApplication>
    
    #include <QApplication> 改为 #include <QtWidgets/QApplication>
    
    #include <QFileDialog> 改为 #include <QtWidgets/QFileDialog>
    
    #include <QMessageBox> 改为 #include <QtWidgets/QMessageBox>
    
    #include <QLineEdit> 改为 #include <QtWidgets/QLineEdit>
    
    #include <QDialog> 改为 #include <QtWidgets/QDialog>
    
    #include <QDialogButtonBox> 改为 #include <QtWidgets/QDialogButtonBox>
    
    #include <QFormLayout> 改为 #include <QtWidgets/QFormLayout>
    
    #include <QVBoxLayout> 改为 #include <QtWidgets/QVBoxLayout>
    
    #include <QLabel> 改为 #include <QtWidgets/QLabel>
    
    #include <QMainWindow> 改为 #include <QtWidgets/QMainWindow>
    
    #include <QActionGroup> 改为 #include <QtWidgets/QActionGroup>
    
    #include <QSpinBox> 改为 #include <QtWidgets/QSpinBox>
    
    #include <QSlider> 改为 #include <QtWidgets/QSlider>
    
    #include <QMenu> 改为 #include <QtWidgets/QMenu>
    
    #include <QMenuBar> 改为 #include <QtWidgets/QMenuBar>
    
    #include <QToolBar> 改为 #include <QtWidgets/QToolBar>
    
    #include <QListWidget> 改为 #include <QtWidgets/QListWidget>
    
    #include <QInputDialog> 改为 #include <QtWidgets/QInputDialog>
    
    #include <QFormLayout> 改为 #include <QtWidgets/QFormLayout>
    
    #include <QDialogButtonBox> 改为 #include <QtWidgets/QDialogButtonBox>
    
    #include <QWidget> 改为 #include <QtWidgets/QWidget>

    可能还有些情况没有在上面列举出来,我们可以到C:Qt5.4msvc2010_openglinclude文件夹下搜索找不到的模块,然后将路径改正确即可。

    3. Change Qt::WFlags to Qt::WindowFlags

    4. 到Properties -> Linker -> Input -> Additional Dependencies 中删除原有的Qt4的lib,并加入下列Qt5的lib文件:

    Enginio.lib
    Qt5AxBase.lib
    Qt5AxContainer.lib
    Qt5Bluetooth.lib
    Qt5CLucene.lib
    Qt5Concurrent.lib
    Qt5Core.lib
    Qt5DBus.lib
    Qt5Declarative.lib
    Qt5Designer.lib
    Qt5DesignerComponents.lib
    Qt5Gui.lib
    Qt5Help.lib
    Qt5Location.lib
    Qt5Multimedia.lib
    Qt5MultimediaQuick_p.lib
    Qt5MultimediaWidgets.lib
    Qt5Network.lib
    Qt5Nfc.lib
    Qt5OpenGL.lib
    Qt5OpenGLExtensions.lib
    Qt5PlatformSupport.lib
    Qt5Positioning.lib
    Qt5PrintSupport.lib
    Qt5Qml.lib
    Qt5QmlDevTools.lib
    Qt5Quick.lib
    Qt5QuickParticles.lib
    Qt5QuickTest.lib
    Qt5QuickWidgets.lib
    Qt5Script.lib
    Qt5ScriptTools.lib
    Qt5Sensors.lib
    Qt5SerialPort.lib
    Qt5Sql.lib
    Qt5Svg.lib
    Qt5Test.lib
    Qt5UiTools.lib
    Qt5WebChannel.lib
    Qt5WebKit.lib
    Qt5WebKitWidgets.lib
    Qt5WebSockets.lib
    Qt5Widgets.lib
    Qt5WinExtras.lib
    Qt5Xml.lib
    Qt5XmlPatterns.lib
    qtmain.lib

  • 相关阅读:
    【微服务架构】SpringCloud之Ribbon
    SpringCloud之Eureka(注册中心集群篇)
    Eureka简介
    两行代码 搞定计数
    HBase详细概述
    电商项目介绍---说的很好
    面试:----Nginx的一理解
    redis介绍
    Linux操作系统介绍
    什么是Solr
  • 原文地址:https://www.cnblogs.com/grandyang/p/6376450.html
Copyright © 2020-2023  润新知