Ich schreibe eine Python-Erweiterung in C, die das CoreFoundation-Framework (unter anderem) erfordert. Dies kompiliert gut mit:
gcc -o foo foo.c -framework CoreFoundation -framework Python
("-framework" ist eine gcc-Erweiterung, die es nur für Apple gibt, aber das ist in Ordnung, weil ich sowieso deren spezifisches Framework verwende)
Wie kann ich setup.py anweisen, dieses Flag an gcc zu übergeben?
Ich habe dies versucht, aber es scheint nicht zu funktionieren (es kompiliert, aber dann beschwert sich über undefinierte Symbole, wenn ich versuche, es auszuführen):
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'])])
Bearbeiten:
Dies scheint zu funktionieren:
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'])])