使用 VS 解决方案,如何使用匹配设置和需要特殊处理的文件的特定设置来设置一组源文件

With a VS Solution how can I setup a group of source files using matching settings, and specific settings for files that need special treatment?

本文关键字:设置 文件 VS 源文件 一组 处理 何使用 解决方案 使用      更新时间:2023-10-16

问题是如何使用匹配设置和需要特殊处理的文件的特定设置来设置一组源文件?

的问题是因为一个构建问题而出现的,我现在已经弄清楚了

以下是该项目系统的工作方式。

请纠正任何误解。

1.有三种类型的设置

  • i) 属性页设置(这些设置可以继承)
  • ii) 项目设置
  • iii) 文件设置

    项目设置会影响所有没有文件设置的源文件

    项目设置特定于配置

    检查文件设置

    (选择文件节点而不是项目节点)时,以粗体显示的项目是在文件级别
    设置的设置如果设置不加粗,则为文件设置

    在项目设置(选择项目节点)中,任何显示为粗体的项

    都是项目设置,任何显示为非粗体的项都是从属性表继承的

2. 任何没有文件级别设置的文件都使用项目设置

3. 要设置项目设置,请确保单击项目节点

4. 要设置文件设置,请单击您希望设置影响的文件

5. 如果需要修改的工具类型未在项目设置下显示为可用,请简要选择该工具有效的文件,然后重新单击项目节点

执行此操作的一个很好的例子是当您想要使用预编译的标头时。 在这种情况下,大多数文件需要使用预编译标头,因此您将在 C/C++->预编译标头下设置Use Yu:预编译标头

然后在stdafx.cpp下将其设置为文件级设置(单击 stdafx.cpp),并在 C/C++->预编译头:预编译头下选择Create Yc

您的项目可能还包含 .由 Midl 生成的 C 文件,因此对于这些文件,您将在文件级别选择"C/C++->预编译头:预编译头"下的Not Using Precompiled Headers

我现在正试图找出导致我的一个项目中出现 MSBuild 错误MSB8028的根源。

However the test project I created to research the problem does not seem to be obeying the rules I set out above. Each of the .cpp files in the project are ignoring the project setting for Precompiled Headers, but they are showing as non-bold

上面的说法是错误的,但它让我找到了黄金法则!

确保"配置"包含"活动"一词

当然,您可以忽略此规则,

但请务必牢记此规则,以避免您没有在错误的配置中创建设置的可能性,这将解释为什么您期望的行为实际上并不是您得到的