gpt4 book ai didi

c++ - 如何设置 scons 来构建已生成源文件的项目?

转载 作者:行者123 更新时间:2023-11-28 05:52:28 27 4
gpt4 key购买 nike

我正在开发一个 C++ 项目,该项目包含一些手工编码的源文件,以及一些由命令行工具生成的源文件和头文件。实际生成的源文件和头文件由工具读取的 JSON 文件的内容决定,因此不能硬编码到 scons 脚本中。我想设置 scons,这样如果我清理项目,然后创建它,它将知道运行命令行工具以生成生成的源文件和头文件作为第一步,然后编译我的手写代码文件和生成的源文件并链接它们以制作我的二进制文件。这可能吗?我不知道如何实现这一点,所以任何帮助将不胜感激。

最佳答案

是的,这是可能的。根据您用来创建头文件/源文件的工具,您需要在 https://bitbucket.org/scons/scons/wiki/ToolsIndex 处查看我们的 ToolIndex。 ,或阅读我们的指南 https://bitbucket.org/scons/scons/wiki/ToolsForFools用于编写自己的生成器。根据您的描述,您可能必须编写自己的 Emitter,它会解析 JSON 输入文件并返回调用最终产生的文件名。然后,您需要做的就是:

# creates foo.h/cpp and bar.h/cpp
env.YourBuilder('input.json')

env.Program(Glob('*.cpp'))

Glob 将找到创建的文件,即使它们在硬盘驱动器上还不存在,并将它们添加到整体依赖项中。如果您还有其他疑问或问题,请考虑通过 scons-users@scons.org 订阅我们的用户邮件列表(另请参阅 http://scons.org/lists.html)。

关于c++ - 如何设置 scons 来构建已生成源文件的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34943652/

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