【问题标题】:Visual Studio: user depended definesVisual Studio:用户依赖的定义
【发布时间】:2018-03-28 09:50:29
【问题描述】:

我们团队中有一位老开发人员,他喜欢 Debug-Message-Boxes。不只是为了当前的调试会话,不,永远。因此,当在调试模式下运行程序时,这些框会唠叨所有其他开发人员。但是我们不允许移除这些盒子。

那么,是否有可能在用户/计算机上定义加深的 DEFINE?所以,我们可以这样做:

#ifdef _DEBUG
    #ifndef NONAG
        MessageBox(...);
    #endif
#endif

-> 现在,我们可以定义“NONAG”并享受更多乐趣..

谢谢

【问题讨论】:

  • 我说的是其他开发者可以在 VS 中设置的设置。
  • 这可以给你一个思路:stackoverflow.com/questions/25184148/…
  • 检查用户的自定义消息框。或生成具有自定义定义(基于用户)的文件的预构建步骤
  • 投了赞成票,只是因为这种情况同时又如此有趣、如此荒谬、又如此现实。我知道你的感受@RalphErdt

标签: c++ visual-studio


【解决方案1】:

使用标准设置,{ProjectName}.vcxproj.user 道具文件将在您的正常项目旁边创建。

它是一个标准的 props 文件,不应将其签入源代码管理,因此每个用户都可以设置个人项目设置,包括预处理器宏。所以将该文件更改为:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemDefinitionGroup>
    <ClCompile>
      <PreprocessorDefinitions>NONAG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ClCompile>
  </ItemDefinitionGroup>
</Project>

或者,您可以通过在项目或通用道具文件中包含类似的内容来设置自定义道具文件:

<ImportGroup Label="PropertySheets">
  <Import Project="{some custom props file path}" Condition="exists('{some custom props file path}')"/>
</ImportGroup>

【讨论】:

  • 这是 Visual Studio 特定的。 +1 如果回复包含替代信息(其他构建系统、生成的文件、运行时配置文件):)
  • 问题是关于visual studio - 它在标签中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
  • 1970-01-01
  • 1970-01-01
  • 2014-08-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多