我刚接触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)
感谢您帮助我!
答案 0 :(得分:4)
您需要将AudioUnit
,CoreAudio
和AudioToolbox
框架添加到您的项目中。有关如何执行此操作的帮助,请参阅this answer。
如果这是您第一次使用C ++,那么您肯定会跳得更深。祝你好运!