gpt4 book ai didi

doxygen - 如何让 scons 将目录本身视为目标?

转载 作者:行者123 更新时间:2023-12-04 16:25:42 24 4
gpt4 key购买 nike

我正在尝试建立一个涉及外部工具的构建,该工具生成一个目录作为输出( doxyindexer 出于好奇)。到目前为止,我基本上得到了这些命令:

target = "doxysearch.db/iamchert"
doxygen.Doxyindexer(target,["project1.xml","project2.xml","project3.xml"])
Default([target])
Default(Install(ARGUMENTS["cgibin"],"doxysearch.db"))

我遇到的问题是我想我想要 target成为目录本身,而不是目录中的一些随机文件。没有什么我能说的,因为在我构建它之前目标不存在,我不想假设 Dimitri 可能会改变任何东西!当我使用目录作为目标时,出现此错误:
TypeError: Tried to lookup Dir 'doxysearch.db' as a File.:

这就是为什么我选择 iamchert成为目标。这些行似乎都按预期工作,即使我的方法是一种黑客。但是,我无法让最后一行起作用。我需要复制目录 doxysearch.dbcgi-bin目录,由用户在命令行中指定。也许有人可以解释如何正确执行此步骤?说到 scons,我是个新手!

我在谷歌上搜索答案时遇到了麻烦,因为所有涉及的搜索词太常见了,无法找到具体的帮助!

最佳答案

SCons 实际上将目录中的所有文件视为该目录的依赖项。有一些黑暗的角落需要工作,但它应该在像这样的简单情况下工作。

您需要的是无证target_factory build 者标志。当您定义 Doxyindexer像这样做:

doxyindexer = Builder(..., target_factory=env.fs.Dir)

并让您的构建器返回目录本身。这应该可以避免您遇到的 TypeError。

关于doxygen - 如何让 scons 将目录本身视为目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16863553/

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