Xcode音频组件符号未找到,并以某种方式不能使用方法

时间:2013-04-08 16:23:09

标签: xcode audio core-audio

我刚接触c ++编码,我只用PHP和Java编程,但我想学习更多东西。 从音频开始可能不是最好的,但我已经知道编程是如何工作的。

但是,我想测试,从Apple网站获取一些代码,看看会发生什么。 我在我的项目中粘贴了代码的开头并出现错误。我真的不知道他们的意思和搜索没有给我任何结果。

这是代码:

#include <iostream>
#include <CoreAudio/CoreAudio.h>
#include <AudioToolbox/AudioToolbox.h>
#include <AudioUnit/AudioUnit.h>

int main(int argc, const char * argv[]) {
  // insert code here...
  AudioComponent comp;
  AudioComponentDescription desc;
  AudioComponentInstance auHAL;
  //There are several different types of Audio Units.
  //Some audio units serve as Outputs, Mixers, or DSP
  //units. See AUComponent.h for listing
  desc.componentType = kAudioUnitType_Output;
  //Every Component has a subType, which will give a clearer picture
  //of what this components function will be.
  desc.componentSubType = kAudioUnitSubType_HALOutput;
  //all Audio Units in AUComponent.h must use
  //"kAudioUnitManufacturer_Apple" as the Manufacturer
  desc.componentManufacturer = kAudioUnitManufacturer_Apple;
  desc.componentFlags = 0;
  desc.componentFlagsMask = 0;
  //Finds a component that meets the desc spec's
  comp = AudioComponentFindNext(NULL, & desc);
  if (comp == NULL) exit(-1);
  //gains access to the services provided by the component
  AudioComponentInstanceNew(comp, & auHAL);
  return 0;
}

这些是我得到的错误:

Undefined symbols for architecture x86_64:
"_AudioComponentFindNext", referenced from:
  _main in main.o
"_AudioComponentInstanceNew", referenced from:
  _main in main.o
 ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

感谢您帮助我!

1 个答案:

答案 0 :(得分:4)

您需要将AudioUnitCoreAudioAudioToolbox框架添加到您的项目中。有关如何执行此操作的帮助,请参阅this answer

如果这是您第一次使用C ++,那么您肯定会跳得更深。祝你好运!