繁体   English   中英

如何在我的Makefile中包含目录及其所有子目录的标题?

[英]How can I include headers from a directory and all its subdirectories in my makefile?

我的项目组织如下:

  • 生成文件
  • 建立
    • 对象
    • 应用
  • 包括
    • 子目录(包含* .h)
    • 子目录(包含* .h)
  • src
    • 子目录(包含* .cpp)
    • 子目录(包含* .cpp)

在我的makefile中,从我当前使用的子目录中获取所有* .h:

#includes (.h / .hpp)
INC_DIRS := \
$(wildcard include/*/)

INCLUDE = $(foreach d, $(INC_DIRS), -I$d)

确实有效,并且我能够编译良好。 但是我想知道是否有更简单的方法将所有子目录包含在单个include语句中。

我正在使用的当前方法对每个子目录都执行“ -Iinclude / subdirectory”,并且在终端中看起来非常混乱和混乱。

考虑到您的包含路径方法,这是在makefile中指定它的好方法。

但是,最好不要将所有这些子目录都放在路径中,而应在代码内使用相对路径。

#include "somedir/thing.h"
#include "somedir2/otherthing.h"

等等。

如果需要,这也将更容易移植到其他构建系统。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM