Macos 试图编译RtAudio时未定义的符号

Macos 试图编译RtAudio时未定义的符号,macos,compilation,makefile,undefined-symbol,Macos,Compilation,Makefile,Undefined Symbol,我正在尝试同时使用RtAudio和RtMidi。我在同一个文件夹中有RtAudio.cpp、RtAudio.h、rHelper.h、RtMidi.cpp和RtMidi.h以及两个测试程序midiprobe.cpp和audioprobe.cpp 使用works编译midiprobe,但当我尝试对测试RtAudio执行相同操作时,会出现错误 以下是我用来编译的内容: g++ -Wall -D__MACOSX_CORE__ -o audioprobe audioprobe.cpp RtAudio.cp

我正在尝试同时使用RtAudio和RtMidi。我在同一个文件夹中有RtAudio.cpp、RtAudio.h、rHelper.h、RtMidi.cpp和RtMidi.h以及两个测试程序midiprobe.cpp和audioprobe.cpp

使用works编译midiprobe,但当我尝试对测试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
我对这类东西还很陌生(到目前为止,大部分框架都已经准备好了),还没有弄明白这一点。因为这是默认的例子,我真的不知道下一步该怎么做。。。
感谢高级版。

缺少的符号在CoreFoundation框架中-您需要添加:

-framework CoreFoundation

添加到命令行。

尝试添加
-framework CoreFoundation
。是的,这就解决了问题,谢谢!好的-太好了-我已经把我的评论转换成了一个答案-请将其标记为已接受,以方便将来访问此问题。