AudioUnitInitialize not found when running on 10.10

I compiled my application (which targets 10.9 as minimum) with 10.11 SDK, but when I run it on a 10.10 machine, I get:


dyld: lazy symbol binding failed: Symbol not found: _AudioUnitInitialize
  Referenced from: /Users/josh/Documents/depot/UE4/Engine/Binaries/Mac/UE4Editor.app/Contents/MacOS/UE4Editor-CoreAudio.dylib
  Expected in: /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
dyld: Symbol not found: _AudioUnitInitialize
  Referenced from: /Users/josh/Documents/depot/UE4/Engine/Binaries/Mac/UE4Editor.app/Contents/MacOS/UE4Editor-CoreAudio.dylib
  Expected in: /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox


The headers in 10.10 and 10.11 look the same, so I can't figure out why it wouldn't be able to find the function in 10.10 frameworks. Has anyone else seen anything like this?


It's only an issue building on 10.11 and running on 10.10. Other configurations work fine.

Yes, I've encountered an almost identical problem, also with the AudioToolbox. When compiling my app on 10.11 and trying to launch it on 10.10, I get


Dyld Error Message:

Symbol not found: _AudioUnitGetProperty

Referenced from: /Users/USER/Amadeus Pro.app/Contents/MacOS/Amadeus Pro

Expected in: /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox


The headers are the same, but when I dump the symbols of AudioToolbox on 10.11, I see a symbol _AudioUnitGetProperty, while on 10.10 I only see the symbol __AT_AudioUnitGetProperty instead, which seems to be related to the problem... Compiling on 10.10 and running on 10.11 is not a problem though.

The workaround given in https://forums.developer.apple.com/message/16100#16100 worked for me. One should probably report that to Apple as a bug though, since the order of linking system frameworks shouldn't matter.

AudioUnitInitialize not found when running on 10.10
 
 
Q