将Visual Studio Qt4应用程序移植到Qt5

时间:2018-02-10 17:47:29

标签: c++ visual-studio qt visual-studio-2015 qt5

我有一个使用QWizard类的基于Qt4的C ++应用程序。这是一个非常简单的应用程序,基本上只是一个向导。它不使用QtCreator,而是使用Visual Studio项目(我不知道为什么,但我认为这是因为项目最初相当小,我们所有其他项目都使用Visual Studio)。因此,没有.pro文件,而是在VS项目中手动设置所有命令,如moc.exe。

我需要将应用程序移植到Qt5,因为在Windows上更改DPI设置时会出现很多渲染问题,而且从我读过的内容来看,Qt5有更好的支持(最终我想要迁移)反正)。

我阅读了Qt关于从Qt4转换到Qt5的文档并下载了最新版本的Qt(我自己没有构建它,我想我可以试试)。

我修改了一些已更改的API调用,并调整了标题(QtWidgets而不是QtGui等)。

我遇到的问题是我从各种头文件中收到大量“无法找到文件”的错误。它从具有

的全局头文件qglobal.h开始
#ifdef QT_BOOTSTRAPPED
#include <QtCore/qconfig-bootstrapped.h>
#else
#include <QtCore/qconfig.h>
#include <QtCore/qtcore-config.h>
#endif

我没有定义QT_BOOTSTRAPPED,因此找不到任何一个头文件的错误,所以我定义了QT_BOOTSTRAPPED。我有点困惑,我会立即得到这个错误。

进行此更改后,一些文件开始编译,但是我从各种* global.h文件中得到了更多错误,包括:

  • qtguiglobal.h:抱怨无法找到 QtGui / qtgui-config.h
  • qtwidgetsglobal.h:抱怨无法找到 QtWidgets / qtwidgets-config.h

示例:

qt5\src\qtbase\include\qtgui\../../src/gui/kernel/qtguiglobal.h(44): fatal error C1083: Cannot open include file: 'QtGui/qtgui-config.h': No such file or directory

我在这里完全失败了。我不知道那些“...- config.h”文件是什么,它们用于什么,以及它们在我的机器上不存在的原因。

我得到的其他错误是:

error C2065: 'QT_VERSION_MAJOR': undeclared identifier
error C2065: 'QT_VERSION_MINOR': undeclared identifier
error C2065: 'QT_VERSION_PATCH': undeclared identifier

我可以明确地定义那些,但这似乎不是正确的方法?

我做了一些尽职调查,但却找不到其他人遇到这个问题,也无法从Qt本身找到任何关于这些文件的文件(我觉得这有点令人沮丧)。

我离Qt专家很远,这是三个使用Qt GUI的项目之一,这个项目相当静态,通常只是进行一些小调整,其中大部分都与Qt无关。

0 个答案:

没有答案