Qt包括不同目录中的文件

Qt Including Files in Different Directories

本文关键字:文件 包括不 Qt      更新时间:2023-10-16

所以我读了一些关于如何做到这一点的帖子和文章,其中一个选项是:

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

但是当我使用这种方法时,它仍然找不到文件。另一种方法是将项目的根添加到include路径中。

下面是一个示例目录:

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)添加到包含目录列表中,则可以在source.cpp中使用#include "dir3/header.h"