Я пишу расширение Python в C, которое требует рамки CoreFoundation (между прочим). Это нормально компилируется с:Как передать флаг gcc в скрипт setup.py Python?
gcc -o foo foo.c -framework CoreFoundation -framework Python
(«Рамочное» является 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'])])
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'])])
Спасибо, но я пробовал это и получал ту же проблему. – Michael
Извините; после удаления каталога «build» и повторного построения он, похоже, работает. Благодаря! – Michael
После этого я нашел список доступных аргументов полезным. http://docs.python.org/distutils/apiref.html?highlight=extension#distutils.core.Extension Спасибо за то, что указали мне в правильном направлении. – Joel