2

我需要创建 librtaudio.dylib,一个可动态加载的 RtAudio 库 (http://www.music.mcgill.ca/~gary/rtaudio/)。我想编写 CFFI 绑定(在 SBCL 中),但我似乎无法编译可使用 CFFI 加载的 dylib。以下是我用来创建 dylib 的编译器和链接器命令:

g++ -O2 -Wall -Iinclude -fPIC -DHAVE_GETTIMEOFDAY -D__MACOSX_CORE__ -c RtAudio.cpp -o RtAudio.o

g++ -dynamiclib -install_name /usr/local/lib/librtaudio.dylib -lSystem -compatibility_version 1.0 -current_version 1.0 RtAudio.o -o librtaudio.dylib -lpthread -framework CoreAudio -framework CoreFoundation

4

1 回答 1

1

似乎 CFFI 的 C++ 支持不足以加载 RtAudio,因为它是一个 C++ 库。一种解决方法是围绕 RtAudio 编写 C 包装器,然后将绑定写入包装器。

于 2010-11-11T17:27:58.490 回答