AAX build fails on MacOS

Hi everyone,

I have my plugin in VST3 and AU and now I would like to build it for AAX as well.
I already added the AAX in the list of my Plugin Formats so it appears on Xcode. However when I try to build it for Debug I have over 2 errors such as:

  • Unknown Platform
  • Unknown OS
  • Unknown Compiler
    It seems many others have that issues so I followed the instructions given (will explain below) but now I have one error and that is:
ld: library not found for -lAAXLibrary_libcpp
clang: error: linker command failed with exit code 1 (use -v to see invocation)

The changes I made were modifying my jucer_ProjectExport_Xcode.h file according to this Build AAX plugins as x86_64 only for now (until the SDK supports arm64) · soundradix/JUCE@da1c712 · GitHub
and also adding arm64 and arm64e to the list of excluded architecture in AAX as shown below

But now I have library Not found error. Any idea how I can solve this? Really appreciate it.

Basic question: Did you apply as Avid developer, got access to their developer area, downloaded the AAX SDK and actually built the AAX library before trying to use it in an AAX plugin?

While e.g. the VST3 SDK is shipped with JUCE, the AAX SDK is not part of JUCE due to Avids strict license agreements.

Hi @PluginPenguin
Thanks for the response.
I already created a developer account with Avid, then downloaded AAX_SDK_2p3p2 and then in Projucer, I set the absolute path to the SDK and then I tried to build the plugin with Xcode. I have no issues with my VST3 and AU plugins, they get compiled and built easily. But AAX gives me the error that I mentioned.
All I want to do at this point is a debug build. It seems some managed to do the debug build but got stuck with release build. I cannot even do the debug one. Any idea what I should do?
Thanks

  1. Could you answer this question:
  1. And also more concretely: what do you have inside these 2 folders:
<yourAAXsdkPath>/AAX/Libs/Debug
<yourAAXsdkPath>/AAX/Libs/Release

That should learn us a bit more.

Hi @KoenTanghe
For question 1, it seems I missed this one. How can I do that? I already have my AAX_SDK_2p3p2 and in my Projucer I already set it for AAX SDK Folder and also in Global Path (AAX SDK). I did not know that I had to build the AAX library. So this is what I did to build the library. Please let me know if I did correctly.
In AAX_SDK_2p3p2, I went to Libs → Axa Library → Mac Build and opened AAXLibrary.xcodeproj in Xcode and then added arm64 and arm64e to Excluded Architectures and then Product → Clean and Product → Build.
When build was successful, I could see in AAX_SDK_2p3p2 → Libs → Debug folder that I have libAAXLibrary_libcpp.a. (I don’t have any file in my Release folder)

I went back to my Projucer project and I opened it with Xcode and ran it again and this time I had to error and it was built successfully. But I cannot see the plugin anywhere.
In AAX target, it says the Installation Directory is: /Library/Application Support/Avid/Audio/Plug-Ins/
but I cannot still see even though I did not have any error.
I would like to see if I can import my plugin into Pro Tools to see if it is built correctly.

Thanks a lot and I really appreciate it.

1 Like

If you have the lib .a file under Debug, then it means that part worked out fine, so that sounds good.
Don’t forget to also build the Release version later on! (for example by doing Build → Build for profiling, which typically builds the Release version)

If you can now build the plugin without errors, that sounds fine too.

This is vague and confusing: what do you mean?

  1. Do you mean you don’t see the .aaxplugin bundle under your plugin’s Debug build folder?
  2. Do you mean you do have an .aaxplugin bundle under your plugin’s Debug build folder, but not under /Library/Application Support/Avid/Audio/Plug-Ins/ ?
  3. Do you mean you have the .aaxplugin bundle under /Library/Application Support/Avid/Audio/Plug-Ins/ but you still can not see the plugin in Pro Tools?

If the plugin bundle is not in the right place, you can put it in there yourself (if the build was successful, then you should see it under your plugin’s Debug build folder).

Note also: IIRC the normal publicly shipped Pro Tools version will not load an AAX plugin that was not signed with Eden / wraptool. If you want to load your non-signed AAX plugin for testing, you will need to install the debug build of Pro Tools from Avid’s developer platform (and check in the docs where that dev build of Pro Tools loads its AAX plugins from; I seem to remember it uses another folder, but I’m not 100% sure on that one).

Note also that when you signed up for AAX development, you signed an NDA with AVID.
I don’t think we touched on any very specific AAX dev. info yet, but it’s probably better to ask in-depth AAX dev. questions on the AAX support forum where the AAX team can help you with direct support.
Unless it’s high-level common knowledge or JUCE-specific things, which is probably just fine to discuss here too.

1 Like

Just in case, you may have forgotten this bit under the all the build sections…
“Enable Plugin Copy”

1 Like

Thanks @KoenTanghe

Really appreciate it.
I managed to build the AAX SDK (both debug and release) and also managed to build my AAX plugin. Now I try to test it and as it is not signed I get an error. It seems to sign the AAX I do need to have a physical iLok USB key which I need to purchase.

All I need is to try and test the plugin in the easiest way possible. You mentioned I could try the unsigned plugin with debug build of Pro Tools. I checked the toolkit website of AAX Avid but I could not find any debug build for Pro Tools. Does it still exist?
And thanks for the tip on NDA. Yes I should ask some questions there as well.
Really appreciate it

I suggest you do this. You will need to spend some time to read the docs by Avid / PACE on how to do that, but if you want to make AAX plugins, that is part of it and you’ll need to go through this, at least for the basics.
And you’ll need to test your plugin in the latest public release of Pro Tools anyway, otherwise you can’t be 100% sure it works correctly for your users.

Last time I checked (a few days ago), it was there alright. It may not be the latest build number as the public release though (it’s called “Pro Tools Developer” build).

Thanks @KoenTanghe
My issue was resolved at last. thanks for your help

1 Like