Linker errors


#1

Hello Jules,

I'm updating my working copy of JUCE, that dates back to January 24th, 2013, to the latest tip.

I have compiled the latest Introjucer with Xcode 5.0.1, then opened and resaved my .jucer file. After having fixed all the usual changes in my code, I'm getting these linker errors:

Undefined symbols for architecture x86_64:
  "_AudioHardwareServiceGetPropertyData", referenced from:
      juce::SystemVol::getGain() in libjucedebug.a(juce_audio_devices.o)
      juce::SystemVol::isMuted() in libjucedebug.a(juce_audio_devices.o)
      juce::SystemVol::SystemVol(unsigned int) in libjucedebug.a(juce_audio_devices.o)
  "_AudioHardwareServiceHasProperty", referenced from:
      juce::SystemVol::SystemVol(unsigned int) in libjucedebug.a(juce_audio_devices.o)
  "_AudioHardwareServiceIsPropertySettable", referenced from:
      juce::SystemVol::canSetVolume() in libjucedebug.a(juce_audio_devices.o)
  "_AudioHardwareServiceSetPropertyData", referenced from:
      juce::SystemVol::setGain(float) in libjucedebug.a(juce_audio_devices.o)
      juce::SystemVol::setMuted(bool) in libjucedebug.a(juce_audio_devices.o)
  "_vDSP_vadd", referenced from:
      juce::FloatVectorOperations::add(float*, float const*, int) in libjucedebug.a(juce_audio_basics.o)
  "_vDSP_vclr", referenced from:
      juce::FloatVectorOperations::clear(float*, int) in libjucedebug.a(juce_audio_basics.o)
  "_vDSP_vfill", referenced from:
      juce::FloatVectorOperations::fill(float*, float, int) in libjucedebug.a(juce_audio_basics.o)
  "_vDSP_vmul", referenced from:
      juce::FloatVectorOperations::multiply(float*, float const*, int) in libjucedebug.a(juce_audio_basics.o)
  "_vDSP_vneg", referenced from:
      juce::FloatVectorOperations::negate(float*, float const*, int) in libjucedebug.a(juce_audio_basics.o)
  "_vDSP_vsmul", referenced from:
      juce::FloatVectorOperations::multiply(float*, float, int) in libjucedebug.a(juce_audio_basics.o)
      juce::FloatVectorOperations::copyWithMultiply(float*, float const*, float, int) in libjucedebug.a(juce_audio_basics.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'm targeting OS X 10.6 while using 10.9 as base SDK. Can you help me, please?


#2

At least for the _vDSP_ errors: since I'm using JUCE as a static library, I had to manually add the Accelerate.framework to my application project.


#3

The other ones should be in the AudioToolbox.framework... have you added that one?


#4

Thank you, siedschl!