除了通常的包含目录之外,我还希望 gcc 包含来自 $HOME/include
的文件,但似乎没有 $LD_LIBRARY_PATH
的类似物。
我知道我可以在编译时(或在 makefile 中)在命令行中添加包含目录,但我真的很喜欢这里的通用方法,就像在库案例中一样。
尝试设置 C_INCLUDE_PATH
(用于 C 头文件)或 CPLUS_INCLUDE_PATH
(用于 C++ 头文件)。
正如 Ciro 提到的,CPATH
将为 C 和 C++(以及任何其他语言)设置路径。
GCC's documentation 中有更多详细信息。
使用您最喜欢的包含为 gcc 创建一个别名。
alias mygcc='gcc -I /whatever/'
请注意:CPLUS_INCLUDE_PATH
和 C_INCLUDE_PATH
不等同于 LD_LIBRARY_PATH
。 LD_LIBRARY_PATH
为 ld
(运行时的动态链接器)提供服务,而为 C/C++ 编译器提供库位置的前两者的等价物是 LIBRARY_PATH
。
-I
之后应该没有空格-l<libnam>
进行链接一样 请注意,创建别名是一个非常糟糕的解决方案,实际上您会构建一个“最喜欢的包含”列表并将它们添加到您的生成文件。