Hi there,
I'm trying to get into audio programming with Core Audio. I'm no stranger to Audio Programming and the C++ language.
Currently I have downloaded the latest version of the CoreAudioUtilityClasses, put them in a group(copied into the project folder) in XCode and tried to make a simple AudioInfo struct with a CAStreamBasicDescription object.
When I try to compile I get linker errors:
Undefined symbols for architecture x86_64:
"_AddEventTypesToHandler", referenced from:
CarbonEventHandler::WantEventTypes(OpaqueEventTargetRef*, unsigned int, EventTypeSpec const*) in CarbonEventHandler.o
"_CallNextEventHandler", referenced from:
AUCarbonViewControl::HandleEvent(OpaqueEventHandlerCallRef*, OpaqueEventRef*) in AUCarbonViewControl.o
"_GetEventClass", referenced from:
AUCarbonViewControl::HandleEvent(OpaqueEventHandlerCallRef*, OpaqueEventRef*) in AUCarbonViewControl.o
AUPropertyControl::HandleEvent(OpaqueEventHandlerCallRef*, OpaqueEventRef*) in AUCarbonViewControl.o
"_GetEventKind", referenced from:
AUCarbonViewControl::HandleEvent(OpaqueEventHandlerCallRef*, OpaqueEventRef*) in AUCarbonViewControl.o
AUPropertyControl::HandleEvent(OpaqueEventHandlerCallRef*, OpaqueEventRef*) in AUCarbonViewControl.o
"_GetEventParameter", referenced from:
AUCarbonViewControl::HandleEvent(OpaqueEventHandlerCallRef*, OpaqueEventRef*) in AUCarbonViewControl.o
"_GetMainEventLoop", referenced from:
AUCarbonViewBase::CreateEventLoopTimer(float, float) in AUCarbonViewBase.o
"_InstallEventHandler", referenced from:
CarbonEventHandler::WantEventTypes(OpaqueEventTargetRef*, unsigned int, EventTypeSpec const*) in CarbonEventHandler.o
"_InstallEventLoopTimer", referenced from:
AUCarbonViewBase::CreateEventLoopTimer(float, float) in AUCarbonViewBase.o
"_RemoveEventHandler", referenced from:
CarbonEventHandler::~CarbonEventHandler() in CarbonEventHandler.o
"_vDSP_create_fftsetup", referenced from:
CASpectralProcessor::CASpectralProcessor(unsigned int, unsigned int, unsigned int, unsigned int) in CASpectralProcessor.o
"_vDSP_ctoz", referenced from:
CASpectralProcessor::DoFwdFFT() in CASpectralProcessor.o
"_vDSP_destroy_fftsetup", referenced from:
CASpectralProcessor::~CASpectralProcessor() in CASpectralProcessor.o
"_vDSP_fft_zrip", referenced from:
CASpectralProcessor::DoFwdFFT() in CASpectralProcessor.o
CASpectralProcessor::DoInvFFT() in CASpectralProcessor.o
"_vDSP_maxmgv", referenced from:
CASpectralProcessor::GetMagnitude(AudioBufferList*, float*, float*) in CASpectralProcessor.o
"_vDSP_minmgv", referenced from:
CASpectralProcessor::GetMagnitude(AudioBufferList*, float*, float*) in CASpectralProcessor.o
"_vDSP_vadd", referenced from:
CASpectralProcessor::OverlapAddOutput() in CASpectralProcessor.o
"_vDSP_vmul", referenced from:
CASpectralProcessor::DoWindowing() in CASpectralProcessor.o
"_vDSP_vsma", referenced from:
AUPannerBase::BypassRender(unsigned int&, AudioTimeStamp const&, unsigned int) in AUPannerBase.o
"_vDSP_vsmul", referenced from:
CASpectralProcessor::DoInvFFT() in CASpectralProcessor.o
"_vDSP_ztoc", referenced from:
CASpectralProcessor::DoInvFFT() in CASpectralProcessor.o
"_vDSP_zvabs", referenced from:
CASpectralProcessor::GetMagnitude(AudioBufferList*, float*, float*) in CASpectralProcessor.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I really don't understand what the problem is and how I could solve it. I know the CAUC's haven't been updated for years, but I have come to understand that they are still widely used.
Is there something I'm missing?