IntroJucer unwanted .r file, and unwanted Carbon header includes


We're trying to make the switch to using IntroJucer throughout the development process rather than just as a project generator as we have been. We're hitting two issues right away using the 2.1.2 git that are getting in our way:

1. Our first project is for an AAX only plugin, yet IntroJucer insists on putting a reference to juce_AU_Resource.r which causes a build error. It's easy to remove the reference in XCode (version 4.6.3) but it has to be done everytime the IntroJucer project is saved.

2. With a freshly created IntroJucer project (with the offending .r file reference removed in XCode) I'm getting a lot of errors because the compiler thinks that the juce::Point class is a Carbon class, causing lots of build errors, in turn causing lots of wasted time tracking down what's going on.

Are others running into these problems, or does it sound like errors in how we're setting up our IntroJucer project seetings?


Louis Sinclair

The plugin stuff is all geared up for creating bundles that'll run as any type of plugin, and for VSTs there needs to be a .r file.

But what's the error? AFAIK there shouldn't actually be a problem, even if your build doesn't need the resource file.

Hi Jules, I got pulled away to another project for a bit but I'm back on this again. XCode complains that the file can't be found. The path in the XCode project for the AUResoures.r file is bad. It's coming up as "AUResources/AUResources.r/Users/rundio/Desktop/MyProject/..."

It appears to be pre-pending the correct path with "AUResources/AUResources.r"



If you search the forum for "AUResources" you'll find more threads about this - I think the TL;DR seems to be that you don't have your Apple AUPublic folder in the right place (or maybe you've not even installed it if you weren't trying to build an AU)

Thanks Jules.

I was able to get rid of the #include error on AUResources/AUResources.r by manually installing the CoreAudio files into my XCode 4.6.3 install.

I'm still stuck with the inclusion of CarbonCore/Finder.h, which results in "Use of class template juce::Point requires template arguments." The juce_AAX_Wrapper.cpp file includes <Cocoa/Cocoa.h> which hits CarbonCore/Finder.h, which generates the errors.

At this point I haven't added any custom code to my introjucer test project so I know it's not really due to an error in using the juce::Point template in my code.

My project is for an AAX plugin, 64 bit intel configuration.

Thanks in advance for any ideas anyone has on how to get past this.

(aka: Louis Sinclair)

After much hair pulling (which I can ill-aford) I got the builds working. What ended up doing the trick was activating the AU build and lo and behold it built both AAX and AU versions. I then unchecked the AU build and now everything build without the dreaded Carbon header errors.

Hopefully this will help someone else in this position.