I hope this helps someone, and will be fixed in a future version:
Building the Juce demo plugin with Xcode 5.0.2 - MacOSX 10.8.5
--------------------------------------------------------------------------------
Install the following SDKs:
- VST3 SDK: expected to be under ~/SDKs/VST3 SDK
- VST2 SDK: expected to be under ~/SDKs/vstsdk2.4 (probably only disable building the VST3 version)
Install MacOSX10.7 SDK.
Install CoreAudio files (see: https://github.com/adfernandes/core-audio-utility-classes)
Pull latest Juce code and open the Juce demo plugin project in Xcode.
When trying to build the plugins:
"Product --> Build for archiving" is not there
--> on several forums, people claim that this was removed from Xcode and that "Product --> Archive" command does the build + archiving in one step now
--> this creates an .xcarchive file (which you don't care about), and the actual plugins are moved (not copied) to the following folders:
~/Library/username/Audio/Plug-Ins/Components
~/Library/username/Audio/Plug-Ins/VST
~/Library/username/Audio/Plug-Ins/VST3
There were 2 warnings:
- Validate Project Settings
Update to recommended settings
- juce_VST3_Wrapper.cpp: Unused variable 'version' (line 778)
--> I ignored these
PROBLEM:
Build appears to go well, but none of the built plugins actually load in Live 9.1.1 32bit, Logic 9.1.8 32bit, Plogue Bidule 32bit nor 64bit, ...
ACTION:
Build the Introjucer on Mac by just clicking the "play" button (build and then run current scheme). Then open the .jucer file for the Juce demo plugin.
--> This showed that the following settings were not correct, so I changed them myself (*):
OSX Base SDK Version: Use Default --> 10.7 SDK
OSX Compatibility Version: Use Default --> 10.7 SDK
OSX Architecture: Use Default --> Universal Binary (32/64-bit)
After this change, this now works.
Question: 10.6 SDK compatibility?
I also tried with the 10.6 SDK but that didn't work:
I get all kinds of errors like this:
In file included from /Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp:47:
In file included from /Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.h:62:
In file included from /Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUScopeElement.h:58:
/Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/AudioUnits/AUPublic/AUBase/ComponentBase.h:203:2: error: unknown type name 'AudioComponentPlugInInterface'; did you mean 'AudioComponentPlugInInstance'?
AudioComponentPlugInInterface mPlugInInterface;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AudioComponentPlugInInstance
/Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/AudioUnits/AUPublic/AUBase/ComponentBase.h:202:8: note: 'AudioComponentPlugInInstance' declared here
struct AudioComponentPlugInInstance {
^
/Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/AudioUnits/AUPublic/AUBase/ComponentBase.h:203:33: error: field has incomplete type 'AudioComponentPlugInInstance'
AudioComponentPlugInInterface mPlugInInterface;
^
First I thought it was because I used the 1.03 version of these CoreAudio files / patch, so I tried with the 1.02 version, but no luck there either: same errors…
If anyone knows what this could be, that'd be great, as I would still like to support 10.6 if possible...
Koen
(*) I also saw a BUG in the Introjucer, because even when making changes to these settings in the Introjucer, saving the project, and the re-opening the Xcode project, these settings were still not there.
--> so I had to make them manually in Xcode:
Base SDK: No SDK (Latest OS X)
--> changed this to OS X 10.7
Architectures: Standard Architectures (64-bit Intel)
--> changed this to Universal (32/64-bit Intel)
OS X Deployment Target: OS X 10.7
--> left untouched
This seems to have disappeared in the latest pull from git today though (or it only happens once in a while).