是否有Visual Studio项目配置宏定义DEBUG或RELEASE而不管项目配置名称?

时间:2015-05-23 22:03:44

标签: visual-studio visual-c++ visual-studio-2013 configuration macros

我看到使用名为$(Configuration)的Visual Studio宏来构建文件路径是非常常见的事情。

例如,如果在Visual Studio 2013中创建新的Visual C ++项目,则默认的“属性表”将如下所示:

Default Visual Studio VC++ Property Sheet

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

但是,如果您决定重命名配置怎么办?并且您希望将它们构建到相同的ReleaseDebug目录中,而不是为每个配置创建一个新文件夹?是否有办法获取宏或定义一个显示DebugRelease的方法,即使配置是以其他方式命名的?

1 个答案:

答案 0 :(得分:1)

属性表允许您制作“用户定义的宏”,它可以转换为您可以在项目文件中使用的配置变量。你会:

  1. 创建两个property sheets
  2. 在每个中创建一个用户定义的宏(名为ConfigurationType - 创建时不要使用$()),在一个属性表中,您可以设置其值一个是Debug,另一个是Release
  3. 将相应的属性表附加到Property Manager中的每个配置(VS菜单中的View-> Property Manager)。
  4. 在您的项目属性中使用$(ConfigurationType)(或您为宏命名的任何内容),但是您认为合适 - 例如。而不是你的($Configuration)宏。
  5. 如果您有大量共享公共属性的配置,则属性表是一种更简单的方法来管理设置。我经常使用所描述的方法,例如链接第三方库,通常只有DebugRelease版本,而我的项目有很多配置。

    注意:

    使用它作为中间目录输出时要小心 - 如果你有两个配置使用相同的配置,那么你可能会遇到问题。