Amalgamated juce without macros?

Hey there,

Is there any way to use the amaglamated version of Juce without macros?
There’s a T() macro clash with the Boost libraries so up till now I just included juce_withoutmacros.h
everywhere - as my project (and it’s build times…) are starting to grow however I was wondering if
you can somehow manage to amalgamate juce without macros?

Thanks!

Something like that after juce include ?

#ifdef T #undef T #endif

If you look inside the juce_WithoutMacros, you’ll see that that all it does is define JUCE_DONT_DEFINE_MACROS and include the normal headers. You could just do the same with the amalg file.

The problem is that the amalgamated file is full of T() macros - as soon as the compiler encounters one it’s obviously an “identifier not found” error.

There certainly shouldn’t be any T macros in the headers. Are you using an up-to-date version? If so, let me know where they are and I’ll nuke them!

Umm… well, the macros are in the source files - I get those errors within the juce_amalgamated.cpp which I include just like the audio plugin demo does.

All this talk about headers seems to point at me doing something wrong though? :oops:

(Still version 1.50 btw - shouldn’t matter though I guess)

Why on earth would you include any 3rd party headers before the amalgamated.cpp file???

Alright, so this is what I do essentially:

juce_LibrarySource.cpp:

includes.h:

Every source file that needs to know about Juce then includes “includes.h” at the very beginning.
Upon compiling I get a trillion of those:

Error 1 error C3861: ‘T’: identifier not found juce_my_amalgamated.cpp 8338

What am i doing wrong?

Like I said: don’t include any 3rd party files before including juce_amalgamated.cpp!!

Maybe you’ve set your project up to auto-include this 3rd party file everywhere, so that’s also pulling it in when juce_LibrarySource.cpp gets compiled?

Oh dear, nevermind… don’t code when you’re tired! :roll:

Sorry Jules and thanks alot yet again