Eclipse C++ including header file from my source folder

36,422

Solution 1

There are a couple of different options to make this work. Simplest is to change the #include to

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

This will work without any other modifications. However, if you move either file, or somehow change the relative path between the two, this will break.

Alternately, you can add the path to the Statistics folder to your compiler's include file search path. Right click on the project name, select Properties -> C/C++ Build -> Settings and then find the includes files path option for your compiler. For g++, it is -I<path/to/include/folder>. Adding this will make the #include statement work as you currently have it.

A very similar option to the second one is to add the path to the src folder (instead of the Statistics folder) to the includes search path. In this case, you'll have to change the statement to

#include "Statistics/Statistics.h"

Solution 2

When you create subfolders in your src folder then each cpp file is compiled in that folder it is located in. Thus, any "" includes need to specify the relative path to get from that folder to another.

In your case, to get from inside the FileInOut folder you need to go back one level and then into the Statistics folder

eg

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

Another alternative is, if you are keeping your includes in your src directory, to add the src directory to the include path. Now when you include you need only specify the path from the src root.

eg.

#include "Statistics/Statistics.h"
Share:
36,422
Joseph Little
Author by

Joseph Little

Updated on November 23, 2020

Comments

  • Joseph Little
    Joseph Little over 3 years

    I'm pretty new to C++ and Eclipse in general so I apologise if I'm missing something fairly obvious.

    The problem I'm having is that I'm trying to include a header file in one of my source files but they're in different folders in my project directory. I have no idea how I should be including them. I've uploaded an image showing my problem with the header file I want to include highlighted.

    enter image description here

    If someone could tell me what '#include' statement I should be using them that would be brilliant.

    Thanks!