Visual Studio构建配置 - 防止重建

时间:2012-02-14 17:43:50

标签: visual-studio rebuild buildconfiguration

我的一个项目中有一个文件,它定义了一个影响整个项目中大多数其他模块行为的变量。我们称之为custom.h。它看起来像这样:

#pragma once

#define BUILD 3 // 1: personal, 2: select, 3: elite

在整个项目中,有许多引用此变量来控制产品版本之间的行为。更改此值会触发重建项目的大部分内容。我想要做的是创建单独的构建配置,每个版本一个,这样当我对版本进行更改时,它只会重建已修改的文件,而不是整个项目。

如果我有三个配置,每个版本一个,是否有一种方法可以让Visual Studio在对custom.h文件进行更改时不重建,如果该版本与该配置的内容相匹配? IE,如果我将BUILD设置为3并使用Elite Configuration进行构建,然后将BUILD更改为2并使用Select Configuration进行构建,我不希望它重建整个项目,因为Select中间文件应该已经存在。 / p>

配置都有自己的中介目录以及他们自己的输出目录。感觉我接近我需要的东西,但此时的一些建议是非常宝贵的。

1 个答案:

答案 0 :(得分:1)

不是更改每个构建的定义,而是使用您提到的配置并在项目中定义预处理器定义。然后对每个配置使用compile指令。我认为这会让你的增量编译正常工作。

您的custom.h将如下所示:

#pragma once

#if defined(PERSONAL)
    #define BUILD 1 
#elif defined(SELECT)
    #define BUILD 2 
#elif defined(ELITE)
    #define BUILD 3 
#endif

预处理器定义可以在项目属性中设置,也可以通过命令行开关设置,具体取决于您的构建方式。

Directives on MSDN

Preprocessor Definitions on MSDN