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 回答