在linux中更新includepath

在/ my / path / to / file文件夹中有几个头文件。 我知道如何将这些文件包含在新的C程序中,但每次我需要在包含头文件之前input完整的头文件path。 我可以在Linux中设置一些pathvariables,使它自动查找头文件?

Solutions Collecting From Web of "在linux中更新includepath"

你可以创建一个makefile。 一个最小的例子是:

 INC_PATH=/my/path/to/file CFLAGS=-I$(INC_PATH) all: gcc $(CFLAGS) -o prog src1.c src2.c 

从这里你可以用很多方法来改进这个makefile。 最重要的可能是状态编译依赖(因此只有被修改的文件被重新编译)。

作为参考,在这里你有一个GNU make文档的链接。

如果您不想使用makefile,则可以始终设置一个环境变量,以便更轻松地输入编译命令:

 export MY_INC_PATH=/my/path/to/file 

那么你可以像编译你的程序:

 gcc -I${MY_INC_PATH} -o prog src1.c src2.c ... 

您可能希望在文件.bashrc定义MY_INC_PATH变量,或者更好的方法是在包含变量定义的方便位置创建一个文件。 然后,您可以使用source在当前shell中设置该变量:

 source env.sh 

不过,我认为使用makefile是一个更好的方法。

有一个类似的问题,可能会更好地解决(如果您有兴趣在永久解决方案): https : //stackoverflow.com/a/558819/1408096

尝试设置C_INCLUDE_PATH (用于C头文件)或CPLUS_INCLUDE_PATH (用于C ++头文件)。

荣誉:jcrossley3

我现在不在Linux中,我不能为了检查一切是否正确而烦恼,但是您是否尝试过制作符号链接? 例如,如果你在Ubuntu上:

 $ cd /usr/include $ sudo ln -s /my/path/to/file mystuff 

那么当你想要包括stuf时,你可以使用:

 #include <mystuff/SpamFlavours.h>