Undefined Symbol Errors with AAX SDK


#1

Hi, I am trying to build an AAX version of the plug-in I am working on. I’ve installed the AAX SDK from Avid and linked it to my projucer project. I also built the libAAXLibrary.a and libAAXLibrary_libccp.a using the Xcode project contained in the AAX SDK folder.

When I try to build my Xcode project I get about 48 errors complaining about undefined symbols in libAAXLibrary.a:

Undefined symbols for architecture x86_64:
“std::string::size() const”, referenced from:
AAX_CEffectParameters::GetParameterNameOfLength(char const*, AAX_IString*, int) const in libAAXLibrary.a(AAX_CEffectParameters.o)

Any idea what is going on here?

I am on OSX 10.11 (El Capitan), building in Xcode 8, using AAX SDK Version 2.2.2


#2

When you build the AAXLibrary, make sure you select the same architecture, same compiler and same std-lib as in your plugin.
Maybe that helps…


#3

Turns out the problem was with the std-lib being used by the AAX Library project.

I changed the C++ Standard Library from “GNU C++ Standard Library” to “LLVM C++ Standard Library with C++ 11 support” and this fixed the problem.


#4

Okay, I got the AAX to build, but now when I open ProTools it says it could not be loaded because it is not a valid 64 bit plugin.

What should I do to fix this?


#5

Do you try in a debug build or in the productive protools?
The developer version will open it in any case, the official will only load it, if you signed it with the iLok stuff.
Details can only be discussed in the closed forum of avid due to the non disclosure every AAX developer has signed.


#6

I just did debug build in Xcode.

So from what it sounds like I need to do a bunch of stuff for Avid if I want to build an AAX. I was hoping it would just be a matter of selecting the proper build options in the Projucer.

I’ll do a bit more research on Avid’s website.


#7

Are you registered at avid as a third-party developer?

Then you have access to the 3PDev build (which also needs a different license on your iLok). With that you can test run your plugins already.

But to give it away and let somebody else run it in the sold version of ProTools, you need to have the pace software and sign your plugin. That way Avid also protects you from software piracy, so it is not really to annoy developers…

But the people at avid are quite helpful and respond fast to emails.