Qt include 上面目录中的头文件

Qt include header file from above directory

起初,我认为这不会成为问题,但经过几天的努力,我仍然找不到解决方案

source
  |
  |--- Model
  |      |
  |      | - A.h
  |-B.h

我无法包含 A.h 中的 B.h,编译器抱怨

“无法打开包含 'B.':没有那个文件或目录

这是我的 .pro 文件

TEMPLATE = app
QT += qml quick widgets sql
QT += declarative
RESOURCES += qml.qrc
include(deployment.pri)
HEADERS += \
   sources/B.h \
   sources/model/A.h

A.h

#ifndef A_H
#define A_H
#include "source/B.h"
class A {
};
#endIf

B.h

#ifndef B_H
#define B_H
class B {

};
#endif

我该如何解决这个问题?感谢您的光临

包含文件的路径是相对于包含它的源文件的路径。所以在 A.h 你应该有 :

#include "../B.h"

或者通过添加到 .pro 来将该路径添加到包含目录:

INCLUDEPATH += $$PWD/source

并包含如下头文件:

#include "B.h"