当我为库文件(例如〜/ lib)创建自己的非标准路径时,我可以运行ldconfig -n ~/lib
,并且此目录被添加到ld用于搜索非标准库的位置列表中。
是否有与包含目录相关的GCC / G ++(或适当的gcc / ++配置管理器)的类似开关,如果是,那么什么?我知道-I
标志将包含非标准目录,但我不必经历我的所有项目,并且必须将所有形式的魔法添加到makefile中以使它们工作 - 然后找到这些更改(当然)是不可移植到任何其他系统的,这个代码是建立在(与协作者等),所以编辑makefile实际上不是一个选项....
编辑:请注意,我的无知假设此解决方案仅为gcc / ++。我很高兴任何解决方案,所以,如果有一种方法滥用ldconfig的某些属性或其他什么,我不会对它不利!
答案 0 :(得分:2)
一般情况下,只需man gcc
。如果您愿意更改Makefile,则需要-L <path>
标记。还有一个类似于ldconfig
的解决方案 - 使用LIBRARY_PATH
env。变量
同样,CPLUS_INCLUDE_PATH
和C_INCLUDE_PATH
以及CPATH
声明了搜索头文件的目录列表。
答案 1 :(得分:0)
除了修改gcc / g ++ 源代码并重新编译它之外,我认为您不能使用include
文件执行此操作。
最好的选择是在您的环境中添加alias
(如果使用bash),例如:
alias gcc="gcc -Idir1 -Idir2 -Idir3"
alias g++="g++ -Idir1 -Idir2 -Idir3"
或创建临时脚本。