0

我是 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)

谢谢你的协助!

4

1 回答 1

4

您需要将AudioUnit和框架添加到您的项目中CoreAudioAudioToolbox请参阅此答案以获取有关如何执行此操作的帮助。

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

于 2013-04-09T02:50:37.673 回答