Visual studio 是否有Visual Studio项目配置宏定义调试或发布,而不考虑项目配置名称?

Visual studio 是否有Visual Studio项目配置宏定义调试或发布,而不考虑项目配置名称?,visual-studio,visual-c++,visual-studio-2013,configuration,macros,Visual Studio,Visual C++,Visual Studio 2013,Configuration,Macros,我发现使用名为$(配置)的VisualStudio宏构建文件路径是非常常见的 例如,如果在VisualStudio 2013中创建一个新的VisualC++项目,默认属性表将类似于此: $(配置)宏是当前项目配置的名称。如果不重命名配置或创建新配置,则可以在需要设置Debug或Release的任何位置添加$(配置)。这样,您就可以为所有配置设置一个配置属性,而不是转到每个发行版或调试配置并单独设置它 但是,如果您决定重命名配置,该怎么办?您希望将它们构建到相同的发行版或调试目录中,而不是为每个

我发现使用名为
$(配置)
的VisualStudio宏构建文件路径是非常常见的

例如,如果在VisualStudio 2013中创建一个新的VisualC++项目,默认属性表将类似于此:

$(配置)
宏是当前项目配置的名称。如果不重命名配置或创建新配置,则可以在需要设置
Debug
Release
的任何位置添加
$(配置)
。这样,您就可以为所有配置设置一个配置属性,而不是转到每个发行版或调试配置并单独设置它


但是,如果您决定重命名配置,该怎么办?您希望将它们构建到相同的
发行版
调试
目录中,而不是为每个配置创建一个新文件夹?是否还有一种方法可以获取宏或定义宏,该宏会显示
Debug
Release
,即使配置名称不同?

属性页允许您创建“用户定义宏”,将其转换为可在项目文件中使用的配置变量。你会:

  • 创建一个2
  • 在每个属性表中,创建一个用户定义的宏(名为say
    ConfigurationType
    ——创建宏时不要使用
    $
    ()
    ),在一个属性表中,您可以将其值设置为
    Debug
    ,在另一个属性表中设置为
    Release
  • 将适当的属性页附加到属性管理器中的每个配置(VS菜单中的查看->属性管理器)
  • 在项目属性中使用
    $(ConfigurationType)
    (或无论您如何命名宏),但是您认为合适-例如,在您的情况下,不要使用
    ($Configuration)
  • 如果有大量共享公共属性的配置,则属性表是管理设置的一种更简单的方法。我经常使用所描述的方法,例如链接第三方库,它们通常只有
    Debug
    Release
    版本,而我的项目有许多配置

    注:
    但是,在将其用于中间目录输出时要小心-如果有两个配置使用同一个配置,则可能会遇到问题。

    听起来像是XY问题。确切地说,为什么需要将文件写入同一目录的两种配置?这只是自找麻烦——最好的情况是不断重建,最坏的情况是将不匹配的文件链接在一起。你认为这将帮助你解决什么实际问题?