gpt4 book ai didi

c++ - Waf:递归收集源文件并包含路径

转载 作者:太空狗 更新时间:2023-10-29 21:21:31 25 4
gpt4 key购买 nike

我的 C-gcc 项目结构是:

\Project\wscript (only one in project)
\Project\build\
\Project\Source\Module_1\foo.c
\Project\Source\Module_1\foo.h
\Project\Source\Module_1\dummy\foo2.h
\Project\Source\Module_n\bar.c
\Project\Source\Module_n\any dept...\bar.h

我怎样才能递归地找到'Source'中的所有*.C文件并添加到

bld.program(source=HERE)?

而不是手动列出它:

bld.program(source="foo.c bar.c...", includes='..\\Source ..\\Source\Module_1')

另外,我如何找到每个子文件夹(最好有 *.h)并追加到包含路径?

我应该在 python 中编写自己的查找器函数并传递它吗?

bld.program(source=SRCs_FOUND, includes=Paths_FOUND)

这会不会在构建中引起任何依赖性问题?

在任何现代 IDE 中,这种想法都很常见,将一个文件拖到源代码树中,它会自动添加到构建列表中。谢谢!

最佳答案

您可以使用 globbing 来扫描目录。

bld.program(
name = ...
....
source = bld.path.ant_glob('**/Source/*.C')
)

只需在 waf book 中搜索 ant_glob .

关于c++ - Waf:递归收集源文件并包含路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22411142/

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