我正在尝试同时使用 RtAudio 和 RtMidi。我在同一个文件夹中包含 RtAudio.cpp、RtAudio.h、RtHelper.h、RtMidi.cpp 和 RtMidi.h 以及 2 个测试程序 midiprobe.cpp 和 audioprobe.cpp。
使用默认命令编译 midiprobe 是可行的,但是当我尝试对audioprobe执行相同操作以测试 RtAudio 时,我得到了错误。
这是我用来编译的:
g++ -Wall -D__MACOSX_CORE__ -o audioprobe audioprobe.cpp RtAudio.cpp -framework CoreAudio -lpthread
这些是错误:
Undefined symbols for architecture x86_64:
"_CFRelease", referenced from:
RtApiCore::getDeviceInfo(unsigned int)in cc89M9Ki.o
"_CFStringGetCString", referenced from:
RtApiCore::getDeviceInfo(unsigned int)in cc89M9Ki.o
"_CFStringGetLength", referenced from:
RtApiCore::getDeviceInfo(unsigned int)in cc89M9Ki.o
"_CFStringGetSystemEncoding", referenced from:
RtApiCore::getDeviceInfo(unsigned int)in cc89M9Ki.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
我对这类东西很陌生(到目前为止,大部分框架都是现成的)并且还没有弄清楚这一点。由于它是默认示例,我真的不知道下一步该做什么......在此先感谢。