我正在用 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'])])
Edit:
这似乎有效:
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'])])