I am now getting the same error when trying to compile to AU (As per madwort, VST works fine, but I’d like to try out OwlSim with Garageband which doesn’t see to support VST plugins).
For completion, my error is:```
Undefined symbols for architecture i386:
"_AudioUnitGetProperty", referenced from:
JuceAUView::CreateUI(float, float)in juce_AU_Wrapper.o
JuceAU::JuceUICreationClass::uiViewForAudioUnit(objc_object*, objc_selector*, ComponentInstanceRecord*, _NSSize) in juce_AU_Wrapper.o
"CMgr_SetComponentInstanceStorage(ComponentInstanceRecord*, char**)", referenced from:
ComponentEntryPoint<JuceAUView>::Dispatch(ComponentParameters*, JuceAUView*)in juce_AU_Wrapper.o
ComponentEntryPoint<JuceAU>::Dispatch(ComponentParameters*, JuceAU*) in juce_AU_Wrapper.o
"AUMIDIBase::HandleNonNoteEvent(unsigned char, unsigned char, unsigned char, unsigned char, unsigned long)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUMIDIBase::DelegateGetProperty(unsigned long, unsigned long, unsigned long, void*)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUMIDIBase::DelegateSetProperty(unsigned long, unsigned long, unsigned long, void const*, unsigned long)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUMIDIBase::DelegateGetPropertyInfo(unsigned long, unsigned long, unsigned long, unsigned long&, unsigned char&)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUMIDIBase::SysEx(unsigned char const*, unsigned long)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUMIDIBase::~AUMIDIBase()", referenced from:
AUMIDIEffectBase::~AUMIDIEffectBase()in juce_AU_Wrapper.o
"AUEffectBase::Initialize()", referenced from:
JuceAU::Initialize() in juce_AU_Wrapper.o
"AUEffectBase::ChangeStreamFormat(unsigned long, unsigned long, CAStreamBasicDescription const&, CAStreamBasicDescription const&)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUEffectBase::ProcessScheduledSlice(void*, unsigned long, unsigned long, unsigned long)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUEffectBase::Reset(unsigned long, unsigned long)", referenced from:
JuceAU::Reset(unsigned long, unsigned long)in juce_AU_Wrapper.o
"AUEffectBase::Render(unsigned long&, AudioTimeStamp const&, unsigned long)", referenced from:
JuceAU::Render(unsigned long&, AudioTimeStamp const&, unsigned long)in juce_AU_Wrapper.o
"AUEffectBase::Cleanup()", referenced from:
JuceAU::Cleanup() in juce_AU_Wrapper.o
"AUEffectBase::~AUEffectBase()", referenced from:
AUMIDIEffectBase::~AUMIDIEffectBase()in juce_AU_Wrapper.o
"ComponentBase::PreDestructor()", referenced from:
vtable for JuceAUViewin juce_AU_Wrapper.o
"ComponentBase::PostConstructor()", referenced from:
vtable for JuceAUViewin juce_AU_Wrapper.o
"ComponentBase::sNewInstanceType", referenced from:
ComponentInitLocker::ComponentInitLocker()in juce_AU_Wrapper.o
ComponentInitLocker::~ComponentInitLocker()in juce_AU_Wrapper.o
ComponentEntryPoint<JuceAUView>::Dispatch(ComponentParameters*, JuceAUView*)in juce_AU_Wrapper.o
ComponentEntryPoint<JuceAU>::Dispatch(ComponentParameters*, JuceAU*) in juce_AU_Wrapper.o
"ComponentBase::AP_Open(void*, ComponentInstanceRecord*)", referenced from:
APFactory<AUMIDILookup, JuceAU>::Factory(AudioComponentDescription const*) in juce_AU_Wrapper.o
"ComponentBase::Version()", referenced from:
vtable for JuceAUViewin juce_AU_Wrapper.o
"ComponentBase::AP_Close(void*)", referenced from:
APFactory<AUMIDILookup, JuceAU>::Factory(AudioComponentDescription const*) in juce_AU_Wrapper.o
"AUCarbonViewBase::HandleEvent(OpaqueEventHandlerCallRef*, OpaqueEventRef*)", referenced from:
vtable for JuceAUViewin juce_AU_Wrapper.o
"AUCarbonViewBase::CreateCarbonView(ComponentInstanceRecord*, OpaqueWindowPtr*, OpaqueControlRef*, Float32Point const&, Float32Point const&, OpaqueControlRef*&)", referenced from:
vtable for JuceAUViewin juce_AU_Wrapper.o
"AUCarbonViewBase::RespondToEventTimer(__EventLoopTimer*)", referenced from:
vtable for JuceAUViewin juce_AU_Wrapper.o
"AUCarbonViewBase::ComponentEntryDispatch(ComponentParameters*, AUCarbonViewBase*)", referenced from:
ComponentEntryPoint<JuceAUView>::Dispatch(ComponentParameters*, JuceAUView*)in juce_AU_Wrapper.o
"AUCarbonViewBase::AUCarbonViewBase(ComponentInstanceRecord*, float)", referenced from:
JuceAUView::JuceAUView(ComponentInstanceRecord*)in juce_AU_Wrapper.o
"AUCarbonViewBase::~AUCarbonViewBase()", referenced from:
JuceAUView::~JuceAUView()in juce_AU_Wrapper.o
JuceAUView::~JuceAUView()in juce_AU_Wrapper.o
JuceAUView::JuceAUView(ComponentInstanceRecord*)in juce_AU_Wrapper.o
"AUMIDIEffectBase::GetProperty(unsigned long, unsigned long, unsigned long, void*)", referenced from:
JuceAU::GetProperty(unsigned long, unsigned long, unsigned long, void*)in juce_AU_Wrapper.o
"AUMIDIEffectBase::SetProperty(unsigned long, unsigned long, unsigned long, void const*, unsigned long)", referenced from:
JuceAU::SetProperty(unsigned long, unsigned long, unsigned long, void const*, unsigned long)in juce_AU_Wrapper.o
"AUMIDIEffectBase::GetPropertyInfo(unsigned long, unsigned long, unsigned long, unsigned long&, unsigned char&)", referenced from:
JuceAU::GetPropertyInfo(unsigned long, unsigned long, unsigned long, unsigned long&, unsigned char&)in juce_AU_Wrapper.o
"AUMIDIEffectBase::ComponentEntryDispatch(ComponentParameters*, AUMIDIEffectBase*)", referenced from:
ComponentEntryPoint<JuceAU>::Dispatch(ComponentParameters*, JuceAU*) in juce_AU_Wrapper.o
"AUMIDIEffectBase::AUMIDIEffectBase(ComponentInstanceRecord*, bool)", referenced from:
JuceAU::JuceAU(ComponentInstanceRecord*) in juce_AU_Wrapper.o
"CarbonEventHandler::WantEventTypes(OpaqueEventTargetRef*, unsigned long, EventTypeSpec const*)", referenced from:
vtable for JuceAUViewin juce_AU_Wrapper.o
"ComponentInitLocker::sComponentOpenMutex", referenced from:
ComponentInitLocker::ComponentInitLocker()in juce_AU_Wrapper.o
ComponentInitLocker::~ComponentInitLocker()in juce_AU_Wrapper.o
"ComponentInitLocker::InitComponentInitLocker()", referenced from:
ComponentInitLocker::ComponentInitLocker()in juce_AU_Wrapper.o
"ComponentInitLocker::sOnce", referenced from:
ComponentInitLocker::ComponentInitLocker()in juce_AU_Wrapper.o
"CAStreamBasicDescription::CAStreamBasicDescription()", referenced from:
JuceAU::JuceAU(ComponentInstanceRecord*) in juce_AU_Wrapper.o
"AUBase::SetBusCount(unsigned long, unsigned long)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::ValidFormat(unsigned long, unsigned long, CAStreamBasicDescription const&)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::DoInitialize()", referenced from:
AUMethodInitialize(void*) in juce_AU_Wrapper.o
"AUBase::GetParameter(unsigned long, unsigned long, unsigned long, float&)", referenced from:
JuceAU::GetParameter(unsigned long, unsigned long, unsigned long, float&)in juce_AU_Wrapper.o
"AUBase::RestoreState(void const*)", referenced from:
JuceAU::RestoreState(void const*)in juce_AU_Wrapper.o
"AUBase::SetParameter(unsigned long, unsigned long, unsigned long, float, unsigned long)", referenced from:
JuceAU::SetParameter(unsigned long, unsigned long, unsigned long, float, unsigned long)in juce_AU_Wrapper.o
"AUBase::CopyClumpName(unsigned long, unsigned long, unsigned long, __CFString const**)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::CreateElement(unsigned long, unsigned long)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::PreDestructor()", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::SetConnection(AudioUnitConnection const&)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::CreateElements()", referenced from:
AUBase::PostConstructor() in juce_AU_Wrapper.o
JuceAU::JuceAU(ComponentInstanceRecord*) in juce_AU_Wrapper.o
"AUBase::GetStreamFormat(unsigned long, unsigned long)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::PropertyChanged(unsigned long, unsigned long, unsigned long)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::CopyIconLocation()", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::GetParameterList(unsigned long, unsigned long*, unsigned long&)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::SetInputCallback(unsigned long, unsigned long, long ()(void, unsigned long*, AudioTimeStamp const*, unsigned long, unsigned long, AudioBufferList*), void*)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::DoProcessMultiple(unsigned long&, AudioTimeStamp const&, unsigned long, unsigned long, AudioBufferList const**, unsigned long, AudioBufferList**)", referenced from:
AUMethodProcessMultiple(void*, unsigned long*, AudioTimeStamp const*, unsigned long, unsigned long, AudioBufferList const**, unsigned long, AudioBufferList**)in juce_AU_Wrapper.o
"AUBase::ReallocateBuffers()", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::ScheduleParameter(AudioUnitParameterEvent const*, unsigned long)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::AddPropertyListener(unsigned long, void ()(void, ComponentInstanceRecord*, unsigned long, unsigned long, unsigned long), void*)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::DispatchGetProperty(unsigned long, unsigned long, unsigned long, void*)", referenced from:
AUMethodGetProperty(void*, unsigned long, unsigned long, unsigned long, void*, unsigned long*)in juce_AU_Wrapper.o
"AUBase::DispatchSetProperty(unsigned long, unsigned long, unsigned long, void const*, unsigned long)", referenced from:
AUMethodSetProperty(void*, unsigned long, unsigned long, unsigned long, void const*, unsigned long)in juce_AU_Wrapper.o
"AUBase::RemovePropertyValue(unsigned long, unsigned long, unsigned long)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::GetChannelLayoutTags(unsigned long, unsigned long, unsigned long*)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::SetMaxFramesPerSlice(unsigned long)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::GetAudioChannelLayout(unsigned long, unsigned long, AudioChannelLayout*, unsigned char&)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::SetAudioChannelLayout(unsigned long, unsigned long, AudioChannelLayout const*)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::SetRenderNotification(long ()(void, unsigned long*, AudioTimeStamp const*, unsigned long, unsigned long, AudioBufferList*), void*)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::RemovePropertyListener(unsigned long, void ()(void, ComponentInstanceRecord*, unsigned long, unsigned long, unsigned long), void*, bool)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::DispatchGetPropertyInfo(unsigned long, unsigned long, unsigned long, unsigned long&, unsigned char&)", referenced from:
AUMethodGetPropertyInfo(void*, unsigned long, unsigned long, unsigned long, unsigned long*, unsigned char*)in juce_AU_Wrapper.o
AUMethodGetProperty(void*, unsigned long, unsigned long, unsigned long, void*, unsigned long*)in juce_AU_Wrapper.o
"AUBase::GetParameterHistoryInfo(unsigned long, unsigned long, float&, float&)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::GetParameterValueStrings(unsigned long, unsigned long, __CFArray const**)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::RemoveAudioChannelLayout(unsigned long, unsigned long)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::RemoveRenderNotification(long ()(void, unsigned long*, AudioTimeStamp const*, unsigned long, unsigned long, AudioBufferList*), void*)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::ProcessForScheduledParams(std::vector<AudioUnitParameterEvent, std::allocator<AudioUnitParameterEvent> >&, unsigned long, void*)", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"AUBase::SetAFactoryPresetAsCurrent(AUPreset const&)", referenced from:
JuceAU::NewFactoryPresetSet(AUPreset const&) in juce_AU_Wrapper.o
"AUBase::DispatchRemovePropertyValue(unsigned long, unsigned long, unsigned long)", referenced from:
AUMethodSetProperty(void*, unsigned long, unsigned long, unsigned long, void const*, unsigned long)in juce_AU_Wrapper.o
"AUBase::DoRender(unsigned long&, AudioTimeStamp const&, unsigned long, unsigned long, AudioBufferList&)", referenced from:
AUMethodRender(void*, unsigned long*, AudioTimeStamp const*, unsigned long, unsigned long, AudioBufferList*)in juce_AU_Wrapper.o
"AUBase::DoCleanup()", referenced from:
AUMethodUninitialize(void*) in juce_AU_Wrapper.o
"AUBase::DoProcess(unsigned long&, AudioTimeStamp const&, unsigned long, AudioBufferList&)", referenced from:
AUMethodProcess(void*, unsigned long*, AudioTimeStamp const*, unsigned long, AudioBufferList*)in juce_AU_Wrapper.o
"AUBase::SaveState(void const**)", referenced from:
JuceAU::SaveState(void const**)in juce_AU_Wrapper.o
"AUBase::CanSetMaxFrames() const", referenced from:
vtable for JuceAUin juce_AU_Wrapper.o
"typeinfo for AUCarbonViewBase", referenced from:
typeinfo for JuceAUViewin juce_AU_Wrapper.o
"typeinfo for AUMIDIEffectBase", referenced from:
typeinfo for JuceAUin juce_AU_Wrapper.o
"vtable for AUMIDIEffectBase", referenced from:
AUMIDIEffectBase::~AUMIDIEffectBase()in juce_AU_Wrapper.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"non-virtual thunk to AUCarbonViewBase::HandleEvent(OpaqueEventHandlerCallRef*, OpaqueEventRef*)", referenced from:
vtable for JuceAUViewin juce_AU_Wrapper.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
and I have followed the mentioned thread already.