导入模块时出错,dlopen(): 找不到符号
我写了一个用C语言做的Python扩展(实际上是用Cython,但这不是重点),这个扩展使用了Mac OSX中的AudioUnit框架。这个模块构建得很正确,但当我尝试在Python命令行中导入它时,出现了以下错误:
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
我该怎么告诉Python在加载这个模块时需要使用AudioUnit框架呢?
1 个回答
2
唉,正如在这个回答中提到的类似问题,关键是要把-framework
和AudioUnit
这两个参数作为两个单独的元组项传递。此外,我的系统检测不正确,所以这些标志在构建时没有被正确应用。