Как включить файл из другой папки?

В моем текущем проекте я разделил свои файлы классов и файлы заголовков. В настоящее время моя структура проекта выглядит следующим образом:

  • Проект

    • Источник
      • ЦСИ
        • class1.cpp
        • class2.cpp
      • main.cpp
    • Заголовок
      • включают
        • Class1.h
        • class2.h

Моя проблема в том, что я не знаю, как включать файлы заголовков в файлы классов. Могу ли я ссылаться на заголовки, которые не находятся на одном уровне или в дочерней папке? Или есть какой-то способ перейти от корня проекта и спуститься вниз? Например:
#include "Project/Headers/include/class1.h" внутри файла class1.cpp

Ответ 1

Вам нужно указать путь include <the directory containing Project> к вашему компилятору, чтобы компилятор смог найти включенные заголовки. Используя gcc, вы можете использовать опцию -I, и используя визуальную студию, вы можете использовать /I.

Ответ 2

Предполагая, что class1.cpp должен включать class1.h, вы бы сделали что-то вроде этого

#include "../../Header/class1.h"

.. сообщает, что ОС сообщает о переходе 1 директории вверх, когда компилятор запрашивает файл.

Ответ 3

У меня была очень похожая проблема, когда мой компилятор не смог найти заголовок с кодом:: block С++ project (той же файловой структурой, что и OP).

Это сработало для меня:

#include "../include/class1.h"