Eclipse С++, включая заголовочный файл из исходной папки

Я новичок в С++ и Eclipse в целом, поэтому прошу прощения, если я пропущу что-то довольно очевидное.

Проблема, с которой я сталкиваюсь, заключается в том, что я пытаюсь включить заголовочный файл в один из моих исходных файлов, но они находятся в разных папках в моем каталоге проектов. Я понятия не имею, как я должен их включать. Я загрузил изображение, показывающее мою проблему с файлом заголовка, который я хочу включить.

enter image description here

Если кто-то может сказать мне, что означает '#include', я должен использовать их, которые были бы блестящими.

Спасибо!

Ответы

Ответ 1

Есть несколько различных вариантов, чтобы сделать эту работу. Проще всего изменить #include на

#include "../Statistics/Statistics.h"

Это будет работать без каких-либо других модификаций. Однако, если вы переместите любой файл или каким-то образом измените относительный путь между ними, это сломается.

В качестве альтернативы вы можете добавить путь к папке Statistics, чтобы ваш компилятор включил путь поиска файла. Щелкните правой кнопкой мыши имя проекта, выберите "Свойства" → "C/С++ Build → Settings", а затем найдите параметр "Включить файлы" для вашего компилятора. Для g++ это -I<path/to/include/folder>. Добавив это, оператор #include будет работать так, как вы его сейчас используете.

Очень похожая опция для второго заключается в том, чтобы добавить путь к папке src (вместо папки Statistics), чтобы включить путь поиска. В этом случае вам нужно будет изменить оператор на

#include "Statistics/Statistics.h"

Ответ 2

Когда вы создаете вложенные папки в своей папке src, каждый файл cpp скомпилируется в той папке, в которой он находится. Таким образом, любой "" включает в себя необходимость указания относительного пути для перехода из этой папки в другую.

В вашем случае, чтобы попасть из папки FileInOut, вам нужно вернуться на один уровень, а затем в папку Statistics

например,

#include "../Statistics/Statistics.h"

Другой альтернативой является сохранение ваших включений в вашем каталоге src, чтобы добавить каталог src в путь include. Теперь, когда вы включаете, вам нужно указать только путь от корня src.

например.

#include "Statistics/Statistics.h"