如何指定一个包括头文件目录的directoy

时间:2018-04-03 11:30:07

标签: c header-files gnu include-path

我不希望每次都使用-I标记来包含我之前创建的头文件。我想在那里指定一个目录并保存头文件,并默认在那里进行GNU gcc搜索。

PS:我使用的是Windows和GNU 5.1.0。

2 个答案:

答案 0 :(得分:0)

由于我的声誉很低,我无法添加评论, 我想你可以使用自己的make文件 从这个链接中学习:

http://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/

或者这个:

https://www.cs.oberlin.edu/~kuperman/help/make.html

或编写自己的脚本。

答案 1 :(得分:0)

如果所有头文件都存储在同一目录中,则无需使用-I选项包含每个.h文件。 你可以做点什么

$(GCC) $(CFLAGS) -I$(HDR_INC_PATH) -c <source files>

其中HDR_INC_PATH包含存储标题的路径。

如果您的标题位于多个位置,则可以执行类似

的操作
HDR_INC_PATH := -I<path1> \
                 -I<path2> \
                 -I<path3> \
                  and so on

其中path1,path2和path3是标题所在的位置并使用

$(GCC) $(CFLAGS) $(HDR_INC_PATH) -c <source files>

您还可以使用$(通配符模式)来搜索目录中的所有头文件。在这种情况下,您必须提及顶级目录路径,以便还可以获取子目录中的标头。 像

这样的东西
HDR_FILES = $(wildcard <dir>/*.h)

其中dir是父目录的路径。然后,您可以在编译器配方中使用$(HDR_FILES)和-I。