c – 如何处理在已取消的构建中随机损坏的预编译头文件?

我使用Visual C 2012和一个大量使用预编译头文件的项目.臭名昭着的/Zm开关正在使用中.

当我取消正在进行的构建时,我有时会在下一个构建中遇到此错误:

error C1852: 'foo.pch' is not a valid precompiled header file

十分之九,事情会顺利进行,但是当发生这种情况时,我必须找到.pch并在重新启动构建之前手动删除它.

这让我有点恼火.有没有办法防止这种情况发生?来自微软的补丁?或者强制Visual删除.pch并在问题发生时自动重新启动构建的方法?或者其他一些我没想过的解决方案?

编辑:这是我正在运行的Visual版本:

Microsoft Visual Studio Professional 2012
Version 11.0.61030.00 Update 4
最佳答案
这是一个纯粹的猜想,因为我没有遇到这个问题.

尝试找出Visual检测.pch文件是如何被破坏的(即空文件,文件没有正确结束,……).如果它遵循一个清晰的模式,编写一个预构建脚本,解析所有.pch并删除损坏的.pch.

转载注明原文:c – 如何处理在已取消的构建中随机损坏的预编译头文件? - 代码日志