gpt4 book ai didi

visual-studio - Visual Studio 中的自定义构建规则,具有多个输出

转载 作者:行者123 更新时间:2023-12-05 08:02:24 26 4
gpt4 key购买 nike

我们有一个使用自定义对象关系映射系统的 C++ 项目,其中的表由 .tbl 文件定义。然后这些通过代码生成器运行,代码生成器为每个生成器创建一个 .h 和一个 .cpp 文件。

我正在尝试在 Visual Studio 2008 和 2010 中获得为此工作的自定义构建规则。

到目前为止,这是我所拥有的:

<?xml version="1.0" encoding="utf-8"?>
<VisualStudioToolFile
Name="z_dbbld"
Version="8.00"
>
<Rules>
<CustomBuildRule
Name="z_dbbld"
DisplayName="z_dbbld"
CommandLine="$(SolutionDir)\tools\z_dbbld $(InputName)"
Outputs="$(InputName).cpp"
FileExtensions="*.tbl"
ExecutionDescription="z_dbbld $(InputName)"
>
<Properties>
</Properties>
</CustomBuildRule>
</Rules>
</VisualStudioToolFile>

问题是依赖关系。当我在干净的结帐上运行构建时,其中不存在任何文件,对于由此规则生成的 .h 文件,我收到“无法打开包含文件”错误。

我已经尝试将输出更改为“$(InputName).h”,但我仍然遇到错误。

现在的问题是这些文件是在代码生成器运行时创建的。如果我再次编译,就不会出现错误,因为所有文件都是在第一次编译时创建的。但这使得从新 checkout 中进行干净、自动化的构建变得行不通。

有什么想法吗?

最佳答案

我认为您需要在构建的主要部分指定输出文件(查看 http://msdn.microsoft.com/en-us/library/hefydhhy.aspx 的最后一句话)。可能最简单的方法是在文件存在时添加对文件的引用,然后删除它们并查看代码生成步骤是否按预期运行。

关于visual-studio - Visual Studio 中的自定义构建规则,具有多个输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7433596/

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