zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    20款最优秀的JavaScript编辑器
    清空windows系统网络配置
    如何禁止Chrome浏览器隐藏URL的WWW前缀
    EDK2开发环境搭建
    edk2中子目录介绍
    INTEL_BIOS 编译—for-ATOM_E3800
    英特尔vPro博锐技术激活
    gitea configure
    mpeg1、mpeg2和mpeg4标准对比分析和总结
    内置缓存
  • 原文地址:https://www.cnblogs.com/grandyang/p/6376450.html
Copyright © 2011-2022 走看看