我正在用 C 编写一个 Python 扩展,它需要 CoreFoundation 框架(除其他外)。这可以很好地编译:
gcc -o foo foo.c -framework CoreFoundation -framework Python
(“-framework”是一个仅限 Apple 的 gcc 扩展,但没关系,因为无论如何我都在使用他们的特定框架)
如何告诉 setup.py 将此标志传递给 gcc?
我试过这个,但它似乎不起作用(它编译,但当我尝试运行它时抱怨未定义的符号):
from distutils.core import setup, Extension
setup(name='foo',
version='1.0',
author='Me',
ext_modules=[Extension('foo',
['foo.c'],
extra_compile_args=['-framework CoreFoundation'])])
编辑:
这似乎有效:
from distutils.core import setup, Extension
setup(name='foo',
version='1.0',
author='Me',
ext_modules=[Extension('foo',
['foo.c'],
extra_link_args=['-framework', 'CoreFoundation'])])