Numpy 确定编译器标志的来源
编译时,如何确定设置了哪些编译器标志?我正在处理一个奇怪的问题,如果我没有设置任何环境变量:Numpy 确定编译器标志的来源,numpy,gfortran,f2py,Numpy,Gfortran,F2py,编译时,如何确定设置了哪些编译器标志?我正在处理一个奇怪的问题,如果我没有设置任何环境变量: $ env | grep FLAG $ 然后gfortran使用所有这些标志: -Wall-arch i686-arch x86\u 64-Wall-undefined dynamic\u lookup-bundle 然而,在设置这些参数的环境中 $ env | grep FLAG LDFLAGS= CCFLAGS= CXXFLAGS= CFLAGS= FFLAGS= 唯一的标志是:-Wall 我只
$ env | grep FLAG
$
然后gfortran使用所有这些标志:
-Wall-arch i686-arch x86\u 64-Wall-undefined dynamic\u lookup-bundle
然而,在设置这些参数的环境中
$ env | grep FLAG
LDFLAGS=
CCFLAGS=
CXXFLAGS=
CFLAGS=
FFLAGS=
唯一的标志是:-Wall
我只是不知道在分发代码时如何确保一致的构建环境
编辑:进一步的调查提示这种神奇可能发生在
numpy.distutils.fcompiler
中,但我不知道 嗯,我对Numpy一点也不确定,但是我distutils
使用distutils.sysconfig.customize\u编译器设置标志
默认情况下,这将使用生成解释器时在Makefile中设置的标志,但它们可以通过环境变量添加到中。似乎可以通过执行f2py-c--verbose--opt='-O0'modules.pyf modules.f90