VSTGUI 4.3 fails compiling on Mac

I am porting some old projects to VSTGUI4. For downward compatibility reasons I am limited to v4.3.
Migrating the project from v3.6 to 4.3 was a huge effort, but it already runs on PC.

The project compiles fine with VSTGUI 3.6 on Mac, but fails compiling with 4.3 on Mac. I get this linker error:

Undefined symbols for architecture x86_64:
OBJC_CLASS$_CALayer”, referenced from:
objc-class-ref in vstgui_mac.o
“_vImagePremultiplyData_ARGB8888”, referenced from:
VSTGUI::CGBitmapPixelAccess::~CGBitmapPixelAccess() in vstgui_mac.o
“_vImageUnpremultiplyData_ARGB8888”, referenced from:
VSTGUI::CGBitmapPixelAccess::CGBitmapPixelAccess(VSTGUI::CGBitmap*, bool) in vstgui_mac.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

It doesn’t seem to be a issue of my project, since the same error appears also for other developers as well es the included tutorial.xcodeproj example.

Here another developer experienced the same:

The same error appears with VSTGUI 4.3.1 and VSTGUI 4.4

Undefined symbols for architecture x86_64:
OBJC_CLASS$_CALayer”, referenced from:
objc-class-ref in vstgui_mac.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

It seems that it’s not even possible to compile the tutorial of any VST4.x GUI…

Hi,
in your reference to KVR forum, there is an answer that fixes the _vImagePremultiplyData_ARGB8888 linker error. Add Accelerate.framework to your dependencies - Build Phases - Link Binary With Libraries.

This fixed my issue. Maybe it will help you too.
I am still using VSTGUI 4.9 though.

1 Like