0

我有一个带有标题的项目,通常根据需要使用命令行界面生成。但我想将此生成步骤添加到 Visual Studio 2015(工具集 v141,c++)作为自定义构建步骤。所以我做到了,它确实有效,但它生成它们很晚。实际上,如果文件尚不存在,则无法构建项目并出现错误“无法包含文件 myHeader.h”。

我通过添加项目属性 -> 自定义构建步骤 -> 常规添加了自定义构建步骤:

  • 命令行:生成头文件的命令(有效)
  • 输出:$(ProjectDir)生成的标题;%(输出)
  • 执行之前:PreBuildEvent

实际上不需要输出,因为命令行会生成文件并自动将它们放在 rigth 文件夹中。但如果我不指定输出文件夹,它就不起作用。

执行之前可能是我的问题所在。但我不知道要添加哪个选项。这个似乎还不错。

编辑有些奇怪的是,它有时会在构建之前成功创建它,但如果我删除它们并再次构建。它们不再生成,项目也不会构建。

EDIT2 实际上只有在我修改项目属性时才有效,因为它强制重新生成所有需求。否则,如果我像往常一样构建,它会跳过自定义 buld 步骤,因为 Visual Studio 认为它是最新的。

4

1 回答 1

0

看来我解决了。我做了一个自定义构建步骤来生成我的文件,但这里说

自定义构建步骤

自定义构建步骤包含在使用“附加依赖项”和“输出”属性驱动增量构建的智能中。如果触及“附加依赖项”属性中的文件,则您的自定义构建步骤将被视为已过期,并将与您的下一个构建一起构建

构建事件

自 VS2008 以来,这里没有太大变化。这三个事件(预构建、预链接和构建后)在正常构建过程中触发,并允许您执行任意项目级命令。

因此,我创建了一个 Build 事件,现在我的文件在检查包含文件之前随时生成。

于 2020-04-06T19:46:34.647 回答