【发布时间】:2019-08-09 00:46:22
【问题描述】:
我的项目组织如下:
- 生成文件
- 构建
- 对象
- 应用程序
- 包括
- 子目录(包含 *.h)
- 子目录(包含 *.h)
- 源
- 子目录(包含 *.cpp)
- 子目录(包含 *.cpp)
在我的 makefile 中,从我当前使用的子目录中获取所有 *.h:
#includes (.h / .hpp)
INC_DIRS := \
$(wildcard include/*/)
INCLUDE = $(foreach d, $(INC_DIRS), -I$d)
这确实工作,我可以编译得很好。但是我想知道是否有一种更简单的方法可以将所有子目录包含在单个包含语句中。
我当前使用的方法为每个子目录执行一个“-Iinclude/subdirectory”,它在终端中看起来非常混乱和混乱。
【问题讨论】:
-
不要那样做!你应该只做 -Isrc -Iinclude 并且你的源代码应该做 #include
for include/foo/bar.h