Hi Jules,
Here is an extract of the build log, showing the two error types that are given!
XCode 4.6.3
Remember: fixed easily enough by changing the language dialect in the XCode project generated by the Introjucer, from “C++11 [-sdt=c++11]” to “Compiler Default”
The errors are caused by two files in CoreAudio: CADebugMacros.h, and AUCarbonViewBase.cpp …
In file included from /Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/AudioUnits/AUPublic/AUBase/ComponentBase.h:45:
/Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/PublicUtility/CADebugMacros.h:139:79: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
#define DebugMessage(msg) DebugPrintfRtn(DebugPrintfFileComma "%s"DebugPrintfLineEnding, msg) FlushRtn
^
/Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewBase.cpp:257:30: error: non-constant-expression cannot be narrowed from type 'short' to 'CGFloat' (aka 'float') in initializer list [-Wc++11-narrowing]
HISize originalSize = { mBottomRight.h, mBottomRight.v };
^~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewBase.cpp:257:30: note: override this message by inserting an explicit cast
HISize originalSize = { mBottomRight.h, mBottomRight.v };
^~~~~~~~~~~~~~
static_cast<CGFloat>( )
/Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewBase.cpp:257:46: error: non-constant-expression cannot be narrowed from type 'short' to 'CGFloat' (aka 'float') in initializer list [-Wc++11-narrowing]
HISize originalSize = { mBottomRight.h, mBottomRight.v };
^~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewBase.cpp:257:46: note: override this message by inserting an explicit cast
HISize originalSize = { mBottomRight.h, mBottomRight.v };
^~~~~~~~~~~~~~
static_cast<CGFloat>( )
3 errors generated.
So, I then wondered if this was because I’m using a different CoreAudio SDK to you?
It turned out that I was using the latest one from Feb 2012, but I re-installed this just in case there was an issue.
That revealed this problem in AUMIDIEffectBase.cpp
/Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUMIDIEffectBase.cpp:154:18: error: member 'MIDIEvent' found in multiple base classes of different types
result = This->MIDIEvent(inStatus, inData1, inData2, inOffsetSampleFrame);
My solution (as from the last time I updated the CoreAudio SDK), was to modify that function as below:
static OSStatus AUMIDIEffectBaseMIDIEvent(void * inComponentStorage,
UInt32 inStatus,
UInt32 inData1,
UInt32 inData2,
UInt32 inOffsetSampleFrame)
{
OSStatus result = noErr;
try {
AUMIDIEffectBase *This = static_cast<AUMIDIEffectBase *>(inComponentStorage);
if (This == NULL) return paramErr;
// MPC
AUMIDIBase *lpThis = (AUMIDIBase*)This;
result = lpThis->MIDIEvent(inStatus, inData1, inData2, inOffsetSampleFrame);
}
COMPONENT_CATCH
return result;
}
Anyhow - the compiler problems still stand.
Hoping this helps you a bit!
Best wishes,
Pete