Sheldon Allen
Sheldon Allen

Reputation: 423

How to include a file from another folder?

In my current project I have separated my class files and my header files. My project structure currently looks like this:

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

Upvotes: 28

Views: 77800

Answers (3)

lm5050
lm5050

Reputation: 909

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:

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

Upvotes: 1

Pepe
Pepe

Reputation: 6480

Assuming you want class1.cpp to include class1.h you would do something like this

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

The .. tells the tells the OS to jump 1 directory up when the compiler asks for the file.

Upvotes: 29

amit kumar
amit kumar

Reputation: 21012

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.

Upvotes: 18

Related Questions