Projucer 4.3 AAX path not correctly distributed to .vcxproj

Hi,
my AAX path is relative to the plugin location ("…\sdk\aax"). My Projucer Visual Studio 2015 Target Project Folder is “.”

This generates a compilable plugin project. But its Post-Build steps contains invalid folder hierarchy:
"…\sdk\aax\Utilities\CreatePackage.bat" “(OutDir)(TargetName).aaxplugin\Contents\Win32” “…\sdk\aax\Utilities\PlugIn.ico”

where it should generate:
"…\sdk\aax\Utilities\CreatePackage.bat" “(OutDir)(TargetName).aaxplugin\Contents\Win32” “…\sdk\aax\Utilities\PlugIn.ico”

so it seems to assume that the Visual Studio 2015 Target Project Folder is still two folder hierarchy levels lower/upper (however you look at it.)

cheers,
raketa

oh gosh, this stupid web interface removed the backslashes.

so it should read:
This generates a compilable plugin project. But its Post-Build steps contains invalid folder hierarchy:
"…/…/…/…/…/sdk\aax\Utilities\CreatePackage.bat" “(OutDir)(TargetName).aaxplugin\Contents\Win32” “…/…/…/…/…/sdk\aax\Utilities\PlugIn.ico”

where it should generate:
"…/…/…/sdk\aax\Utilities\CreatePackage.bat" “(OutDir)(TargetName).aaxplugin\Contents\Win32” “…/…/…/sdk\aax\Utilities\PlugIn.ico”

Thanks for the opportunity to soliloquy so far, but this is actually a bug report.
We are now trying to use the Projucer during our development project. There are still enough of conceptual oddities with that approach. At least it would be good if easy but annoying bugs could just disappear.

All the best,
Raketa

1 Like

the aax-path should be either relative to the projucer-project path (not the plugin), or absolute.

(But i think there is currently a bug, if the project doesn’t use the default exporter location of the IDE project file)

@chkn is correct, and that bug is now fixed on the develop branch.

If you enter the path in the Projucer running on Windows then it will be highlighted in red if the SDK isn’t found.

Thanks,
raketa

Here some additional text; post must be at least 20 chars.

I’m using AAX SDK v2.3.x

I’m running Projucer 5.4.3 on macOS

I’ve downloaded the AAX_SDK from AVID

I place the AAX_SDK inside the JUCE directory where Projucer.app is, and:

  1. I include AAX_SDK/Interfaces in the Header Search Paths under Exporters XCode in Projucer

  2. I include AAX_SDK/Libs in the External Library Search Paths also under Exporters XCode in Projucer

None of the paths show up in red. However, when compiled in XCode I still get,

AAX_Version.h​ file not found for,

JUCE Modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp line 54

Line 54 reads, #include <AAX_Version.h>​ file not found ​

I’ve also used ./AAX_SDK/Interfaces and ./AAX_SDK/Libs

Any tips would be appreciated.

Projucer has 2 possible places for SDKs/Paths.
Global and project.

See Global Paths settings.
Also if you need to override one, make sure it’s actually empty. in the project for example.

Thanks. BTW, what is the best forum to post non-critical errors such as comments for file names not including updated filenames when renaming? Doesn’t crash anything but just input for quality of JUCE Projucer.

I did get a link error btw after setting the path for AAX SDK.

Ld /Library/Application\ Support/Avid/Audio/Plug-Ins/KadenzeAudioPlugin.aaxplugin/Contents/MacOS/KadenzeAudioPlugin normal x86_64
cd /Users/robert/Desktop/KadenzeAdvanced/KadenzeAudioPlugin/Builds/MacOSX
export MACOSX_DEPLOYMENT_TARGET=10.11
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -L/Users/robert/Desktop/KadenzeAdvanced/KadenzeAudioPlugin/Builds/MacOSX/build/Debug -L…/…/…/KadenzeAudioPlugin/…/…/…/Projects/JUCE/AAX_SDK/Libs/Debug -F/Users/robert/Desktop/KadenzeAdvanced/KadenzeAudioPlugin/Builds/MacOSX/build/Debug -filelist /Users/robert/Library/Developer/Xcode/DerivedData/KadenzeAudioPlugin-hilbpotonmmpmbfhedlfpmnfipnm/Build/Intermediates.noindex/KadenzeAudioPlugin.build/Debug/KadenzeAudioPlugin\ -\ AAX.build/Objects-normal/x86_64/KadenzeAudioPlugin.LinkFileList -mmacosx-version-min=10.11 -Xlinker -object_path_lto -Xlinker /Users/robert/Library/Developer/Xcode/DerivedData/KadenzeAudioPlugin-hilbpotonmmpmbfhedlfpmnfipnm/Build/Intermediates.noindex/KadenzeAudioPlugin.build/Debug/KadenzeAudioPlugin\ -\ AAX.build/Objects-normal/x86_64/KadenzeAudioPlugin_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -stdlib=libc++ -bundle -lAAXLibrary_libcpp -lKadenzeAudioPlugin -framework Accelerate -framework AudioToolbox -framework Carbon -framework Cocoa -framework CoreAudio -framework CoreMIDI -framework DiscRecording -framework IOKit -framework OpenGL -framework QuartzCore -framework WebKit -Xlinker -dependency_info -Xlinker /Users/robert/Library/Developer/Xcode/DerivedData/KadenzeAudioPlugin-hilbpotonmmpmbfhedlfpmnfipnm/Build/Intermediates.noindex/KadenzeAudioPlugin.build/Debug/KadenzeAudioPlugin\ -\ AAX.build/Objects-normal/x86_64/KadenzeAudioPlugin_dependency_info.dat -o /Library/Application\ Support/Avid/Audio/Plug-Ins/KadenzeAudioPlugin.aaxplugin/Contents/MacOS/KadenzeAudioPlugin

ld: library not found for -lAAXLibrary_libcpp
clang: error: linker command failed with exit code 1 (use -v to see invocation)

did you build the AAXLibrary (the libcpp one)?

to save us more questions :slight_smile: -

  • if you’re on Xcode 10, set target to 64bit only and you’ll need to silence some warnings.

The latest AAX SDK defaults to 64 bit only and has no warning issues.

If you want to support Universal 32/64 bit change the value to:

ARCHS = $(ARCHS_STANDARD_32_64_BIT)

in AAXLibrary_common.xcconfig.

Rail

2 Likes