1

我想知道如何在 Visual Studio 2012 的属性页中处理“继承值”。在我的项目中,我决定要使用预编译的头文件,所以很自然地,我尝试从扩展列表中删除 *.pch 以在 Clean 上删除。但是,事实证明,当我尝试编辑此属性时,它在许多其他扩展名中被列在只读的“继承值”框下。

“从父级或项目默认值继承”未勾选,但没有区别。尽管如此,当我清理解决方案时,我的 .pch 文件被删除了。

提前致谢。

4

1 回答 1

2

如果您使用传统的 PCH 语义设置 PCH,则使用一个文件来生成 PCH(通常为 stdafx.cpp),其余的源文件将从该创建中受益。如果是这种情况,那么您遇到的是删除“创建者”源的 .obj 强制重建“生成器”.cpp 文件,这意味着 PCH 也将被重建。PCH 是隐式的添加到“生成器”源的输出目标中,并且根据定义,当给定源目标被“清理”时,所有输出目标都将被删除

换句话说,PCH 正在重建,因为生成它的源文件也在重建,并且因为 Clean 删除了生成 .obj 的源文件。

顺便说一下,这是干净的预期行为。

于 2012-10-21T21:54:42.100 回答