编译时,如何确定设置的编译器标志?我正在处理一个奇怪的问题,如果我没有设置任何环境变量:
$ 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
,但我不知道!
答案 0 :(得分:1)
好吧,我对Numpy一点也不确定,但我distutils
使用distutils.sysconfig.customize_compiler
来设置标记。
默认情况下,它使用构建解释器时在Makefile中设置的标志,但它们可以通过环境变量添加。