GCC / G ++相当于ldconfig -n

时间:2011-07-25 13:52:11

标签: gcc g++ ld

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

是否有与包含目录相关的GCC / G ++(或适当的gcc / ++配置管理器)的类似开关,如果是,那么什么?我知道-I标志将包含非标准目录,但我不必经历我的所有项目,并且必须将所有形式的魔法添加到makefile中以使它们工作 - 然后找到这些更改(当然)是不可移植到任何其他系统的,这个代码是建立在(与协作者等),所以编辑makefile实际上不是一个选项....

编辑:请注意,我的无知假设此解决方案仅为gcc / ++。我很高兴任何解决方案,所以,如果有一种方法滥用ldconfig的某些属性或其他什么,我不会对它不利!

2 个答案:

答案 0 :(得分:2)

一般情况下,只需man gcc。如果您愿意更改Makefile,则需要-L <path>标记。还有一个类似于ldconfig的解决方案 - 使用LIBRARY_PATH env。变量

同样,CPLUS_INCLUDE_PATHC_INCLUDE_PATH以及CPATH声明了搜索头文件的目录列表。

答案 1 :(得分:0)

除了修改gcc / g ++ 源代码并重新编译它之外,我认为您不能使用include文件执行此操作。

最好的选择是在您的环境中添加alias(如果使用bash),例如:

alias gcc="gcc -Idir1 -Idir2 -Idir3"
alias g++="g++ -Idir1 -Idir2 -Idir3"

或创建临时脚本。