Я пишу расширение Python на C, для которого требуется инфраструктура CoreFoundation (среди прочего). Это прекрасно компилируется с:
gcc -o foo foo.c -framework CoreFoundation -framework Python
(«-framework» — это расширение gcc только для Apple, но это нормально, потому что я все равно использую их конкретный фреймворк)
Как указать 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'])])