Qt编译器找不到头文件
Qt compiler cannot find the header file
我知道这是一个很常见的问题,但我还没有找到关于以下问题的全面答案。
我在 Windows 8.1 上安装了 Qt 5.4.1 MSVC2013 build 运行。
下面是我的项目文件:
这是我的 .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 文件,否则我无法在 main.cpp
文件中包含 mainview.h
。
为什么? HEADERS += Views/mainview.h
还不够吗?
如果您以这种方式包含头文件:
#include "mainview.h"
那么是的,您需要添加包含路径,因为编译器(不是 IDE)不知道 mainview.h 在哪里。
否则,您需要指定文件的相对路径,如:
#include "Views/mainview.h"
Documentation 并没有说 HEADERS 用于指定编译器的包含路径。 HEADERS用于生成依赖信息,检查是否需要moc。
如果您将以下命令添加到 .pro
文件中,您将能够编译它。
INCLUDEPATH += ...path/Views/
我知道这是一个很常见的问题,但我还没有找到关于以下问题的全面答案。 我在 Windows 8.1 上安装了 Qt 5.4.1 MSVC2013 build 运行。 下面是我的项目文件:
这是我的 .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 文件,否则我无法在 main.cpp
文件中包含 mainview.h
。
为什么? HEADERS += Views/mainview.h
还不够吗?
如果您以这种方式包含头文件:
#include "mainview.h"
那么是的,您需要添加包含路径,因为编译器(不是 IDE)不知道 mainview.h 在哪里。 否则,您需要指定文件的相对路径,如:
#include "Views/mainview.h"
Documentation 并没有说 HEADERS 用于指定编译器的包含路径。 HEADERS用于生成依赖信息,检查是否需要moc。
如果您将以下命令添加到 .pro
文件中,您将能够编译它。
INCLUDEPATH += ...path/Views/