Sto scrivendo un'estensione Python in C che richiede il framework CoreFoundation (tra le altre cose). Questo compila bene con:Come passare il flag a gcc nello script setup.py di Python?
gcc -o foo foo.c -framework CoreFoundation -framework Python
("-Framework" è un Apple-only estensione GCC, ma va bene perché sto usando il loro quadro specifico in ogni caso)
Come faccio a dire a setup.py passare questo flag a gcc?
Ho provato questo, ma non sembra funzionare (si compila, ma poi si lamenta di simboli non definiti quando provo a farlo funzionare):
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:
Questo sembra funzionare:
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'])])
Grazie, ma ho provato questo e ottenere lo stesso problema. – Michael
Siamo spiacenti; dopo aver eliminato la directory "build" e ricostruito sembra funzionare. Grazie! – Michael
Dopo averlo trovato ho trovato utile l'elenco degli argomenti disponibili. http://docs.python.org/distutils/apiref.html?highlight=extension#distutils.core.Extension Grazie per avermi indicato nella giusta direzione. – Joel