I am working on a C++ project using Xcode on MacOS X, and am now starting to port it to Linux using the Code::Blocks IDE. 

Many of my source files are in separate directories and I am having issues including them.

Here is an example of this issue:

```
folder1/foo.h

folder2/dog.h

foo.h includes dog.h with: `#include "dog.h"`

```

It works fine on Xcode if both files in the same project but if I try it in Code::Blocks it has an error finding it.

I can fix this issue in Code::Blocks by changing the code to use a relative include path such as:

`#include "../folder2/dog.h"`

Unfortunately doing this stops Xcode from being able to find the file.

How can I fix this issue so I can compile the same code in multiple IDEs? I would like to avoid throwing all the source in the same folder. Should I use a preprocessor statement similar to:

```
#if XCODE
#include "dog.h"
#else
#include "../folder2/dog.h"
#endif

```