4

コンパイル時に、どのコンパイラ フラグが設定されているかをどのように判断できますか? 環境変数が設定されていない場合、次のような奇妙な問題に対処しています。

$ env | grep FLAG
$

次に、gfortran はこれらすべてのフラグを使用します。 -Wall -arch i686 -arch x86_64 -Wall -undefined dynamic_lookup -bundle

一方、これらが設定されている環境では

$ env | grep FLAG
LDFLAGS=
CCFLAGS=
CXXFLAGS=
CFLAGS=
FFLAGS=

唯一のフラグは次のとおりです。-Wall

コードを配布するときに一貫したビルド環境を確保する方法について、私はただ迷っています。

編集: さらなる調査により、この魔法が で発生する可能性があることが示唆されてnumpy.distutils.fcompilerいますが、わかりません!

4

1 に答える 1

1

Numpy についてはよくわかりませんが、フラグを設定するためにdistutils使用します。distutils.sysconfig.customize_compiler

デフォルトでは、これはインタープリターがビルドされたときに Makefile で設定されたフラグを使用しますが、それらは環境変数によって追加できます。

于 2015-06-15T17:24:11.017 に答える