导入模块dlopen()时出错:未找到符号

问题描述:

我已经在C中使用了Python扩展(实际上使用了cython,但实际上这只是一点),它使用Mac OSX中的AudioUnit框架。该模块建立正确的,但是当我试图从Python命令行导入它,我得到以下错误:导入模块dlopen()时出错:未找到符号

ImportError: dlopen(myproject/audiomodule.so, 2): Symbol not found: _AudioUnitSetProperty 
    Referenced from: /Views/python/lib/python3.1/site-packages/myproject/audiomodule.so 
    Expected in: dynamic lookup 

我怎么告诉蟒蛇,它需要使用AudioUnit框架加载此模块时?

Bah,如写在this answer regarding a similar question中,关键是将-frameworkAudioUnit参数作为两个单独的元组项目传递。此外,我的平台检测不正确,所以这些标志在构建期间没有正确应用。