c++ - 重新激活旧项目时找不到 QtCore 中的 header

标签 c++ qt qmake

我正在尝试让旧的 qt 项目再次运行。我相信它是用 QT4.x 编写的,我现在正在使用 QT 5.5。

*.pro 文件看起来有点像这样:

######################################################################
# Automatically generated by qmake (2.01a) Di 29. Okt 15:17:13 2013
######################################################################

TEMPLATE = app TARGET =  DEPENDPATH += . INCLUDEPATH += .

# Input 
HEADERS += ****all *.h files of the project are listed here****
FORMS += mainform.ui 
SOURCES += ***all *.cpp files of the project are listed here****

构建后列出的问题enter image description here是:

所以,它找不到许多属于 QT 的头文件!我试过了

QT       += core gui
CONFIG   += qt

这没有帮助。我知道相信这与从 QT4 到 Qt5 的迁移有关。在这个link听起来好像进行了一些重组。也许我只需要将“#include < Qt/QString.h >”更改为新内容?

最佳答案

请先将您的 .pro 文件修改为如下内容:

QT       += core gui multimedia

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = <Your Target Name>
TEMPLATE = lib
CONFIG += static

HEADERS *= ../Include/*.h

SOURCES *= ../Source/*.cpp \
#Add this line if you have any .ui files to add
FORMS *= ../Forms/*.ui \

从 Qt5 开始,Qt 把所有东西都当作 Qwidget。可能由于这个原因,您会收到上面用蓝色突出显示的错误。

对于字符串,你只需使用#include "qstring.h"然后你就可以检查了。

希望对您有所帮助。

关于c++ - 重新激活旧项目时找不到 QtCore 中的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35429860/

相关文章:

c++ - 无法将 CHAR 转换为 LPWSTR

qt - 使用未声明的标识符 'connect'

c++ - Qt找不到平台插件cocoa

c++ - 在另一个文件夹中包含子项目 .pri

qt - qmake 找不到任何源文件或头文件

c++ - 当一个变量被定义并且它似乎被这样识别时,什么会导致 "C2065: undeclared identifier"?

c++ - 结构定义包含自身的静态实例?

c++ - 如何获得编译警告

c++ - 使用 std::optional 参数调用函数

qt - QtWebEngine 依赖应用程序的静态构建