GCC/G++;ldconfig-n的等价物

GCC/G++;ldconfig-n的等价物,gcc,g++,ld,Gcc,G++,Ld,当我为库文件创建自己的非标准路径(例如~/lib)时,我可以运行ldconfig-n~/lib,并且该目录被添加到ld用于搜索非标准库的位置列表中 是否有与include目录相关的GCC/G++(或适当的GCC/++config管理器)的类似开关,如果有,是什么?我知道-I标志将包括非标准目录,但我不想检查我的所有项目,也不必向makefile添加所有形式的魔法来让它们工作——然后发现这些更改(当然)不可移植到该代码构建的任何其他系统(与合作者等),所以编辑makefile并不是一个真正的选项

当我为库文件创建自己的非标准路径(例如~/lib)时,我可以运行
ldconfig-n~/lib
,并且该目录被添加到ld用于搜索非标准库的位置列表中

是否有与include目录相关的GCC/G++(或适当的GCC/++config管理器)的类似开关,如果有,是什么?我知道
-I
标志将包括非标准目录,但我不想检查我的所有项目,也不必向makefile添加所有形式的魔法来让它们工作——然后发现这些更改(当然)不可移植到该代码构建的任何其他系统(与合作者等),所以编辑makefile并不是一个真正的选项


编辑:请注意,我的无知假设此解决方案仅为gcc/++。不过,我对任何解决方案都很满意,所以如果有一种方法滥用了ldconfig的某些属性,我并不反对它

通常,只需执行
man gcc
。如果您愿意更改makefile,则需要
-L
标志。还有一个类似于
ldconfig
的解决方案—使用
LIBRARY\u PATH
env。变数


类似地,还有
CPLUS\u INCLUDE\u PATH
C\u INCLUDE\u PATH
CPATH
,它们声明了一个目录列表来搜索头文件。

除了修改gcc/g++源代码并重新编译它之外,我认为你不能用
INCLUDE
文件来实现这一点

最好的替代方法是将
别名添加到您的环境中(如果使用bash),如:


或者创建一个临时脚本。

对不起,我的问题可能需要澄清一下——这是关于包含的,而不是链接-L必须在每个链接的基础上使用(因此,我不能将其添加到多个开发人员共享的makefile中)。我也是如此,这就是为什么我在寻找另一种选择。
alias gcc="gcc -Idir1 -Idir2 -Idir3"
alias g++="g++ -Idir1 -Idir2 -Idir3"