0

C ++でのコーディングは初めてで、phpとJavaでしかプログラミングしていませんが、もっと学びたいと思っています。オーディオのことから始めるのは最善ではないかもしれませんが、プログラミングがどのように機能するかはすでに知っています。

しかし、テストして、Apple の Web サイトからコードを少し取得して、何が起こるか見てみようと思いました。プロジェクトにコードの先頭を貼り付けたところ、エラーが発生しました。そして、それらが何を意味するのか本当にわからず、検索しても結果が得られませんでした。

コードは次のとおりです。

#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

AudioUnitCoreAudioおよびAudioToolboxフレームワークをプロジェクトに追加する必要があります。その方法については、この回答を参照してください。

これが C++ の初めての経験である場合、あなたは間違いなく深いところに飛び込んでいます。幸運を!

于 2013-04-09T02:50:37.673 に答える