我在/我的/路径几个头文件/到/文件夹。 我知道如何在包括新C程序这些文件,但每次我需要输入完整的路径,包括它之前的头文件。 我可以设置一些Linux路径变量,它会自动查找头文件?
Answer 1:
你可以创建一个makefile。 一个最小的例子是:
INC_PATH=/my/path/to/file
CFLAGS=-I$(INC_PATH)
all:
gcc $(CFLAGS) -o prog src1.c src2.c
在这里,您可以改善此生成的文件在许多方面。 最重要的,也许会说出编译依赖(所以只有修改过的文件进行重新编译)。
作为参考,在这里你必须在一个链接GNU使文档 。
如果你不希望使用的makefile,你可以随时设置环境变量,使之更容易输入编译命令:
export MY_INC_PATH=/my/path/to/file
然后,你可以编译程序,如:
gcc -I${MY_INC_PATH} -o prog src1.c src2.c ...
您可能要定义MY_INC_PATH
在文件变量.bashrc
,或者可能会更好,在包含变量定义一个方便的地方创建一个文件。 然后,你可以使用source
来设置该变量在当前shell:
source env.sh
我想,但是,使用生成文件是一个非常理想的方法。
Answer 2:
还有一个类似的问题,并有可能较好地解决了(如果你有兴趣在一个永久性的解决方案): https://stackoverflow.com/a/558819/1408096
尝试设置C_INCLUDE_PATH(对于C头文件)或CPLUS_INCLUDE_PATH(用于C ++头文件)。
荣誉:jcrossley3
Answer 3:
我不是在Linux中,现在,我也懒得重新启动,以检查是否一切的权利,但你尝试过让符号链接? 例如,如果你是在Ubuntu上:
$ cd /usr/include
$ sudo ln -s /my/path/to/file mystuff
所以,那么当你要包括塞入,你可以使用:
#include <mystuff/SpamFlavours.h>
文章来源: Update include path in linux