Как включить файл из другой папки?
В моем текущем проекте я разделил мои файлы классов и мои файлы заголовков. Моя структура проекта в настоящее время выглядит так:
проект
- Источник
- ЦСИ
- 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"