2009-10-26 62 views
1

我要建立使用Visual Studio(目前使用VS2008),但有一个必须运行,这样的文件可以编译构建前脚本一些C源文件。的Visual Studio预生成事件

所以这个预构建脚本有修改的源文件和来这里的问题:我如何可以使用修改SRC文件预生成脚本。

如果我修改原始文件和构建失败后生成将不会运行,所以我将无法恢复的文件,所以我认为最好的办法就是要复制的文件,然后修改副本,并告诉编译器来编译这些副本,但我不知道我是否可以告诉VS编译一些其他文件,这些文件不包含在项目中,而不是包含在其中。

那么运行这样的预生成脚本的最佳方式是什么?

回答

1

您可以实现此目的的一种方法是在您的解决方案中创建一个包含空的.cpp文件的虚拟项目,并将该项目设置为项目的依赖关系,其项目要修改。然后,我觉得有一对夫妇的如何设置的东西,选择:

  • 中设置的虚拟项目的生成后事件做处理,或
  • 创建cpp文件自定义生成规则(或项目中的其他一些虚拟文件)运行脚本

我不确定这两个中的哪一个会根据您每次构建时是否需要运行而执行您的要求,或者只是你第一次建立。如果使用第二种方法,则可以将自定义构建规则的输出设置为不存在的文件,这将强制每次执行构建规则。由于虚拟项目是主项目的依赖项,因此每次构建解决方案时都会经历尝试构建它的过程。

+0

将输出设置为不存在的文件,以便始终执行构建规则,与预构建操作基本相同。 – 2009-10-26 22:33:40

0

我不知道是否有操纵该文件在一个脚本编译的方式。但是 您也可以使用预生成步骤在对它们进行预处理之前创建原始文件的备份。如果构建失败,您可以从备份中恢复。

我记得做这一招一次,这实际上创建上飞源文件中的一个prepuild一步。我不得不创建一次,所以我可以将它添加到项目文件中,之后我删除了它,因为它会在预生成步骤中自动生成。

编辑:我想我会创建一个包含了源文件中的“模板”额外的解决方案文件夹,并设置生成操作无法比拟的,所以VS不会尝试对它们进行编译。创建预备脚本,将这些文件复制到正确的位置并对其进行预处理。你可能不得不创建一些虚拟的来创建项目文件中的引用,就像我上面所说的那样。 这样您就可以随时访问解决方案中的原始文件,预成型步骤将为您准备好文件。

相关问题