Qt编译器找不到头文件

时间:2015-03-02 12:05:15

标签: c++ qt header-files

我知道这是一个非常常见的问题,但我还没有找到关于以下问题的全面答案。 我在Windows 8.1上运行Qt 5.4.1 MSVC2013构建。 以下是我的项目文件:

enter image description here

这是我的.pro文件的样子:

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = Vfp
TEMPLATE = app

QMAKE_CXXFLAGS = - std=c++11

SOURCES += main.cpp\
        Views/mainview.cpp

HEADERS  += Views/mainview.h

FORMS    += Views/mainview.ui

问题是,除非我将INCLUDEPATH += Views/添加到.pro文件中,否则我无法在mainview.h文件中包含main.cpp

为什么呢?不应该HEADERS += Views/mainview.h足够吗?

3 个答案:

答案 0 :(得分:3)

如果你以这种方式包含头文件:

#include "mainview.h"

然后是的,你需要添加包含路径,因为编译器(不是IDE)不知道mainview.h在哪里。 否则,您需要指定文件的相对路径,例如:

#include "Views/mainview.h"

答案 1 :(得分:0)

Documentation并不是说HEADERS用于指定编译器的包含路径。 HEADERS用于生成依赖关系信息并检查moc是否必要。

答案 2 :(得分:0)

如果将以下命令添加到.pro文件,则可以编译它。

INCLUDEPATH += ...path/Views/