Qt 包含不同目录中的文件

Qt Including Files in Different Directories

所以我阅读了一些关于如何执行此操作的帖子和文章,其中一个选项是:

#include "../file/file.h"

但是当我使用这个方法时,还是找不到文件。另一种方法是将项目的根添加到包含路径。

下面是一个示例目录:

main_dir
   - dir2
      -dir3
        -header.h
   -dir4
      -dir 5
        -source.cpp

如果我想从 source.cpp 中包含 header.h,我该怎么做?

我的 .pro 文件

#-------------------------------------------------
#
# Project created by QtCreator 2015-02-17T12:52:00
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = project1
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp \
    dir4/dir 5/source.cpp \

HEADERS  += mainwindow.h \
    dir2/dir3/header.h

FORMS    += mainwindow.ui

解决问题的方法有很多种。

  1. source.cpp中使用#include "../../dir2/dir3/header.h"

  2. 如果您可以将 main_dir 添加到包含目录列表中,(-I<main_dir_path>),那么您可以在 source.cpp 中使用 #include "dir2/dir3/header.h"

  3. 如果您可以将 main_dir 下的顶级目录 -- main_dir/dir2main_dir/dir4 -- 添加到包含目录列表中,那么您可以使用 #include "dir3/header.h"source.cpp.