Header outside "source" cannot be found Linux

Hi there,

I’m trying to build a plugin i have coded under macOs first on Linux (ubuntu 16.04).

My issue is the following :
I have a folder MyJuceProjects in which i have two folders, “Libraries” and a “PluginProjects” Folder.

In the “Libraries” Folder i have :
“JUCE” (the submodule associated to the JUCE repo)
“MyLib”(a folder with .h and .cpp generic code i reuse often)

In the “PluginProjects” Folder i have :
“MyProject” a JUCE project. In the “source” folder i have different folder “Synthesiser” etc.

It seems that all the header located in the folders INSIDE the “source” folder and inside MyLib folder are not seen at compile time with LinuxMakeFile.

I cannot find any equivalent to USE_HeaderMap for this exporter and when i try to add extra headerpath “…/…/Libraries/MyLib” to the LinuxMakeFile exporter nothing happens.

Do you have any information about setup with makefile i missed and that raises the “fatal error: mylibfile.h: No such file or directory
#include “mylibfile.h””?

Thanks a lot.

Is the relative include path you’re using correct? Try using an absolute path instead.

You can get verbose output from the Makefile by doing V=1 make where you can see all the flags getting passed to the compiler.

It’s working now thanks, i needed to add all the paths (they were numerous) and the paths were not correct as you pointed it.

A path needs to be relative to the makefile and not the .jucer

But why there is no equivalent of Use-HeaderMap for Linux CodeBlocks and LinuxMakeFile projects ? (Just Curious)

Thanks again!

Use Header Map is a feature of Xcode and there’s nothing similar that’s supported by either Make or Code::Blocks.

Also see various other threads, e.g.