我想GCC包含来自$HOME/include的文件,除了通常的包含目录,但似乎没有类似于$LD_LIBRARY_PATH。

我知道我可以在编译时(或在makefile中)在命令行中添加include目录,但我在这里确实喜欢一种通用的方法,就像在库案例中一样。


当前回答

注意:CPLUS_INCLUDE_PATH和C_INCLUDE_PATH并不等同于LD_LIBRARY_PATH。

LD_LIBRARY_PATH服务于ld(运行时的动态链接器),而前两个为C/ c++编译器提供库的位置的等价程序是LIBRARY_PATH。

其他回答

注意:CPLUS_INCLUDE_PATH和C_INCLUDE_PATH并不等同于LD_LIBRARY_PATH。

LD_LIBRARY_PATH服务于ld(运行时的动态链接器),而前两个为C/ c++编译器提供库的位置的等价程序是LIBRARY_PATH。

gcc规范文件可以完成这项工作,但是机器上的所有用户都会受到影响。

参见如何使用GCC规范文件

用您最喜欢的include为gcc创建一个别名。

alias mygcc='gcc -I /whatever/'

尝试设置C_INCLUDE_PATH (C头文件)或CPLUS_INCLUDE_PATH (c++头文件)环境变量。

正如Ciro提到的,CPATH将为C和c++(以及任何其他语言)设置路径。

在Windows上,这些可以设置为分号分隔的列表。在大多数其他平台上,它们可能被设置为冒号分隔的列表。

更多细节请参阅GCC的文档。