gpt4 book ai didi

c++ - 如何在我的 makefile 中包含目录及其所有子目录的 header ?

转载 作者:太空宇宙 更新时间:2023-11-04 09:10:28 24 4
gpt4 key购买 nike

我的项目组织如下:

  • 生成文件
  • build
    • 对象
    • 应用
  • 包括
    • 子目录(包含*.h)
    • 子目录(包含*.h)
  • 来源
    • 子目录(包含*.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"

等等。

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

关于c++ - 如何在我的 makefile 中包含目录及其所有子目录的 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57422227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com