Dear all,
I am targeting MacOS 10.14 Mojave for MyPlugin project which I am building using XCode 15 on MacOS Sonoma. I have issues creating Release build:
Termination Reason: DYLD, [0x4] Symbol missing
Application Specific Information:
dyld: launch, loading dependent libraries
Dyld Error Message:
Symbol not found: _kMIDIPropertyProtocolID
Referenced from: /Users/USER/Desktop//MyPlugin.app/Contents/MacOS/MyPlugin
Expected in: /System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI
in /Users/USER/Desktop//MyPlugin.app/Contents/MacOS/MyPlugin
If I create Debug build then this error doesn’t appear at all and I can run MyPlugin. I have compared Debug and Release build configurations within XCode and I cant notice anything suspicious which might cause that error with Release build.
Does anyone has any idea?
Thank you in advance
There seems to be some issues related to the new linker in XCode 15, it could be related but I don’t know the full details, see this post if you want to look into that. You could try XCode 15.1 beta as the release notes suggest this issue may be resolved so it could help you figure out of it’s this issue or not.
1 Like
@Verbonaut
Thank you very much for sharing the post.
Just for the record, the only thing needed was to add this line below in CMakeLists file.
link_libraries("-Wl,-ld_classic")
Thank you for this post. I was having this exact issue and you saved the day!
In my case, I do not have a CMakeLists file, and was a bit confused as to where to add that line. I thought I’d document it in case anyone else’s setup is similar to mine.
In Projucer, under the “Exporters” drawer, click the “Xcode (macOS)” Exporter. Then, in the “Extra Linker Flags” section, add the following:
-Wl,-ld_classic
Resave the project and you’re done! You can verify that it’s working by doing the following in Xcode: click your project at the top of the Project navigator, clicking your app under Targets on the left, click Build Settings at the top, then type in the filter textbox: “Other Linker Flags”. It should now include the -Wl,-ld_classic
flags.
1 Like