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

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

  • проект

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

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

3 ответа

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

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

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

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

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

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

#include "../include/class1.h"
Другие вопросы по тегам