如何防止distutils将-I/usr/include/python2.7添加到gcc命令行?(或将其更改为其他内容)

如何防止distutils将-I/usr/include/python2.7添加到gcc命令行?(或将其更改为其他内容),python,distutils,Python,Distutils,我正在用distutils交叉编译扩展(通过cffi.setsource,但它直接传递到distutils.extension),并且需要为Python头提供一个备用路径 SYSROOT\u TARGET是指向我的目标平台的SYSROOT的路径 我已经在include_dirs中包含了SYSROOT_TARGET+'/usr/include/python2.7/',当它首先搜索该dir时效果很好,但我对它打印的这个警告感到不安: cc1:警告:包含位置“/usr/include/python2.

我正在用distutils交叉编译扩展(通过cffi.setsource,但它直接传递到distutils.extension),并且需要为Python头提供一个备用路径

SYSROOT\u TARGET
是指向我的目标平台的SYSROOT的路径

我已经在include_dirs中包含了
SYSROOT_TARGET+'/usr/include/python2.7/'
,当它首先搜索该dir时效果很好,但我对它打印的这个警告感到不安:

cc1:警告:包含位置“/usr/include/python2.7”对于交叉编译[-Wpoison系统目录]不安全

出现这种情况是因为它将
-I/usr/include/python2.7
添加到gcc命令行
-c
标志之前

我是否可以设置一个envvar来修改或完全删除该参数

os.environ['PYTHONXCPREFIX']=SYSROOT\u TARGET+'/usr'
不会更改任何内容

我知道它确实考虑了envvars,因为我就是这样将编译器设置为工具链中的编译器的

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


明确地说,像这样的构建很好(现在…),但我不想像那样毒害我的include dir。

我最终使用了
ffibuilder.emit__code()
而不是
ffibuilder.compile()
,然后自己编译。

我最终使用了
ffibuilder.emit_code())
而不是
ffibuilder.compile()
,然后自己编译