【问题标题】:How can I use preprocessor symbols with custom build configurations?如何将预处理器符号与自定义构建配置一起使用?
【发布时间】:2015-02-16 23:09:11
【问题描述】:

我想创建一个启用发布模式但带有一些日志记录的构建配置。我曾设想它与预处理器符号一起工作。例如,如果你说#if DEBUG,那么它只会在构建处于调试状态时编译代码块。我创建了一个名为“ReleaseWithLogging”的自定义构建,但预处理器无法识别它。

是否有可能实现我的要求,如果可以,如何实现?或者更好的是,不是使用符号,而是使用 ConditionalAttribute

【问题讨论】:

  • 不确定您对“创建的自定义构建 XXX”的确切含义,但假设您在项目属性中更改了“条件编译符号”-> 构建,不清楚为什么没有选择这些更改向上。您可能需要澄清您做了什么/如何运行构建。

标签: c# visual-studio-2013 c-preprocessor


【解决方案1】:

右键单击您的项目并选择属性

在左侧选择Build选项卡选项。

在右侧的 条件编译 symbols 字段中输入您的 ReleaseWithLogging 符号。

实际上,您只为需要它的配置输入此符号定义。因此,当您选择 Release 作为顶部的配置时,您设置了符号。当您在配置中选择调试时,您可以省略它。

然后在你的代码中......

#if ReleaseWithLogging

...将为您定义符号的配置传递。根据您的描述,我假设您只会为新的自定义 ReleaseWithLogging 配置定义它。

【讨论】:

  • 我认为ReleaseWithLogging 是他创建的新配置的名称,而不是预处理器符号的名称。
  • 是的,但我认为他需要添加 ReleaseWithLogging 作为该新配置的新符号,以便为该配置提供#if 工作。也许我没有在答案中说清楚。
猜你喜欢
  • 2020-08-28
  • 1970-01-01
  • 2016-02-16
  • 1970-01-01
  • 1970-01-01
  • 2010-09-26
  • 2013-10-17
  • 2020-05-11
  • 2017-11-20
相关资源
最近更新 更多