我需要创建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/lib taudio.dylib -lSystem -compatibility_version 1.0 -current_version 1.0 RtAudio.o -o librtaudio.dylib -lpthread -framework CoreAudio -framework CoreFoundation
发布于 2010-11-12 01:27:58
看起来CFFI的C++支持不足以加载RtAudio,因为它是一个C++库。一种解决方法是围绕RtAudio编写一个C包装器,然后将绑定写入包装器。
https://stackoverflow.com/questions/4121544
复制相似问题