Piszę rozszerzenie Pythona w C, które wymaga Framework CoreFoundation (między innymi). To kompiluje dobrze z:Jak przekazać flagę do gcc w skrypcie setup.py w języku Python?
gcc -o foo foo.c -framework CoreFoundation -framework Python
(„-framework” jest tylko jabłko gcc rozszerzenie, ale to dobrze, bo używam ich specyficzne ramy tak)
Jak mam powiedzieć do setup.py przekazać tę flagę do gcc?
Próbowałem to, ale nie wydaje się do pracy (to kompiluje, ale potem narzeka symboli niezdefiniowanych gdy próbuję go uruchomić):
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:
ten wydaje się działać:
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'])])
Dzięki, ale spróbowałem i mam ten sam problem. – Michael
Przepraszam; po usunięciu katalogu "build" i ponownym jego budowaniu wydaje się działać. Dzięki! – Michael
Po znalezieniu tego znalazłem listę dostępnych argumentów pomocne. http://docs.python.org/distutils/apiref.html?highlight=extension#distutils.core.Extension Dzięki za skierowanie mnie we właściwym kierunku. – Joel