17
私はCoreFoundationフレームワークを必要とするPython拡張モジュールをC言語で書いています。これは罰金コンパイル:Python setup.pyスクリプトでgccにフラグを渡すには?
gcc -o foo foo.c -framework CoreFoundation -framework Python
(「-frameworkは」アップルだけのgccの拡張機能ですが、私はとにかく彼らの特定のフレームワークを使用していますので、それは大丈夫です)
私はに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'])])
ありがとうございますが、私はこれを試して同じ問題を抱えています。 – Michael
申し訳ありません。 "ビルド"ディレクトリを削除して再ビルドした後で動作するようです。ありがとう! – Michael
これを見つけた後、私は有用な議論のリストを見つけました。 http://docs.python.org/distutils/apiref.html?highlight=extension#distutils.core.Extension私に正しい方向を教えていただきありがとうございます。 – Joel