在*-I之前向gcc*添加include目录

在*-I之前向gcc*添加include目录,c,gcc,compilation,C,Gcc,Compilation,从文档中: CPATH指定要搜索的目录列表,就像用-I指定一样,但在命令行上用-I选项指定的任何路径之后。无论预处理的是哪种语言,都将使用此环境变量 在我的机器上,我希望交叉编译或以其他方式拥有一组版本化的可选包含。我想用它们来编译别人的代码 具体地说,我有几个不同版本的python,以及它们相关的python.h文件 $python setup.py枕头 失败,因为它首先找到的包含不是所需的包含。 (/usr/local/include有一个旧的Python.h,但我需要/usr/local/

从文档中:

CPATH指定要搜索的目录列表,就像用-I指定一样,但在命令行上用-I选项指定的任何路径之后。无论预处理的是哪种语言,都将使用此环境变量

在我的机器上,我希望交叉编译或以其他方式拥有一组版本化的可选包含。我想用它们来编译别人的代码

具体地说,我有几个不同版本的python,以及它们相关的python.h文件

$python setup.py枕头 失败,因为它首先找到的包含不是所需的包含。 (/usr/local/include有一个旧的Python.h,但我需要/usr/local/include/Python2.7才能“赢”)

将/usr/local/include/Python2.7添加到CPATH(或C_include_路径)不起作用,因为它放在后面


就我所见,这不是特定于python的——当然有一种方法可以强制GCC在-I/CPATH之前拥有路径?

这有点老套,但您可以将其添加到编译器变量中

生成文件语法

 CC = gcc -Ipath


或者用g++作为CXX变量。

这有点老套,但您可以将其添加到编译器变量中

生成文件语法

 CC = gcc -Ipath


或g++作为CXX变量。

export CC=“gcc-I/my/path”
export CC=“gcc-I/my/path”
确实有问题,但我同意它会起作用。这似乎很奇怪,因为不仅仅有一个类似于-I.:-/Hacky的开关,但我同意它会起作用。似乎很奇怪,不仅仅是一个类似于-I:-/