Building Juce 3 AAX plugins on Mac


Hi all,

I'm going to port all my projects to Juce 3 (I'm still on Juce 2).

I started from scratch using Introjucer, chosing the Audio Plug-In option.

I've downloaded all latest SDKs (VST3, AAX, CoreAudio); I've built the AAXlibrary; all the include paths seems to be right.

I'm working on Yosemite 10.10.3 and XCode 6.3.1.

I get link errors like:

Undefined symbols for architecture x86_64:

  "std::out_of_range::out_of_range(std::string const&)", referenced from:

      AAX_CChunkDataParser::GetChunkData(AAX_SPlugInChunk*) in libAAXLibrary.a(AAX_CChunkDataParser.o)

  "std::__throw_out_of_range(char const*)", referenced from:

      AAX_CPacket::SPacketData::Get(unsigned long) const in libAAXLibrary.a(AAX_CPacketDispatcher.o)


and many others, all starting with the std:: namespace.

Maybe I'm missing something trivial... Any ideas?




Do the lib and and your plugin share the same base-sdk and compatibilty(deployment target) version?


For both AAXLibrary and the plugin:

Valid Architecture = i386 x86_64

Base SDK = 10.10

Deployment Target = 10.10

Note: I'm not yet building "my" plugin, I'm just compiling the default "empty" one created with Introjucer.






Look which compiler xcode uses, and also (if i remind correctly there is a setting) which STD-Lib both projecs are using


Yes I had to set:

C Language Dialect = C99
C++ Language Dialect = Compiler Default
C++ Standard Library = libstdc++ (GNU C++ standard library)

Now the linker completes successfully.