2017-06-09 6 views
0

私はdistutilsを使ってエクステンションをクロスコンパイルしています(もちろん、cffi.setsourceを通して、distutils.Extensionにthese paramsを直接渡します)、そしてPythonヘッダーの代替パスを提供する必要があります。distutilsが-I/usr/include/python2.7をgccコマンドラインに追加しないようにするにはどうしたらいいですか?

SYSROOT_TARGETは、ターゲットプラットフォームのsysrootへのパスです。

CC1を::警告:それはそのディレクトリ最初に検索し、私はそれが印刷されるこの警告不安を感じるよう罰金に動作します私はinclude_dirsでSYSROOT_TARGET+'/usr/include/python2.7/'が含まれている

「の場所を含めるは/ usr /それだけで-cフラグの前にgccのコマンドラインに-I/usr/include/python2.7を追加するため

[-Wpoison・システム・ディレクトリ]/python2.7" はクロスコンパイルのために安全ではない含めるこれが発生します。

私はこの引数を完全に修正したり取り除いたりするために設定できるenvvarはありますか?

os.environ['PYTHONXCPREFIX'] = SYSROOT_TARGET+'/usr'は何も変更されません。

私はそれが私のツールチェーンから私のコンパイラを設定する方法ですので、envvarsを考慮に入れていることを知っています。

os.environ['CC'] = SYSROOT + '/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc'

(今用...)だけで正常に動作が、私はむしろ、私はそのようなdirsに含ま毒ではないでしょう、このように構築し、明確にすること。

答えて

0

ffibuilder.compile()の代わりにffibuilder.emit_c_code()を使用して終了しました。

関連する問題