我不希望每次都使用-I
标记来包含我之前创建的头文件。我想在那里指定一个目录并保存头文件,并默认在那里进行GNU gcc搜索。
PS:我使用的是Windows和GNU 5.1.0。
答案 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。