In my current project I have separated my class files and my header files. My project structure currently looks like this:
Project
- Source
- src
- class1.cpp
- class2.cpp
- main.cpp
- src
- Source
- Header
- include
- class1.h
- class2.h
- include
- Header
My problem is that I do not know how to include the header files into the class files. Am I unable to link to headers that are not at the same level or in a child folder? Or is there some way to go from the project root and work my way down? For instance:
#include "Project/Headers/include/class1.h"
inside the class1.cpp file
I had a very similar problem where my compiler could not find the header with a code::blocks C++ project (same file structure as OP) .
This worked for me:
Assuming you want class1.cpp to include class1.h you would do something like this
The
..
tells the tells the OS to jump 1 directory up when the compiler asks for the file.You need to indicate the include path
<the directory containing Project>
to your compiler so that the compiler is able to find the included headers. Using gcc, you could use-I
option, and using visual studio, you could use/I
.