“意外的预编译头错误”是什么意思?

37

我试图构建一个涉及Windows和Console应用程序的简单解决方案。在使用向导生成项目的代码框架后,我没有添加任何代码,只是构建了生成的代码。在两种情况下,我都收到了相同的错误:

1>c:\c\winpr\winpr\winpr.cpp(4) : 致命错误 C1859:'Debug\winpr.pch' 意外的预编译头错误,重新运行编译器可能会解决此问题

有什么问题吗?你有什么想法?


你尝试按照错误信息建议重新运行编译器了吗? - Gordon Bailey
请展示您的源代码,特别是 .cpp 文件顶部的 #include 语句。 - egrunin
6个回答

57

对于Visual C++ 2008 SP1编译器错误C1859,有一种修复方法。你可以在这里下载。

详见此链接


3
提供的链接中的修复方法有效且截至今日仍可用。应将其标记为答案。 - DonBoitnott
这个更新在我系统上第一次安装失败了,但第二次成功了(重新运行它并检查Windows是否正确安装终止)。 - franckspike
使用VS 2008已经有5年了,以前从未遇到过这个问题。无论我做什么都无法构建任何东西。补丁修复了它。 - Adam Bruss
18
搜索VS90SP1-KB976656-x86.exe给我找到了这个链接 - Jacob Seleznev
是的,@JacobSeleznev提供的链接似乎已经解决了这个问题。请注意,尽管该文件未托管在Microsoft服务器上,但它仍具有有效的Microsoft数字签名,因此我们可以认为它是安全的。另外,作为补充说明,这个问题似乎与Windows更新有关。每当你在工作日中看到那个“烦人”的弹出窗口,提示你安装Windows更新时,这个问题都与它相关。因此,重新启动计算机也可能解决这个问题。 - ahmd0
显示剩余2条评论

6

有一天突然在工作中出现了类似的问题。我们的问题是由于这个问题引起的。

不过我只需要简单地重启电脑就解决了。


4
链接提供的上面的答案已经不再可用
我也遇到了同样的错误,在我的情况下,问题是由于需要重新启动的“Windows更新”(我避免重启并一直遇到这个问题)。但是重新启动后,错误被解决了。

2
安装Visual C++ 2008 SP1可以解决我的问题。

由于之前发布的补丁已经失效,对我来说也是如此。谢谢! - Aequitas

1

2019年 - 只有thotfixshare拥有它。运行得非常好。 - Michaël Roy

-6
如果您使用了#include<stdfafx.h>,请尝试将其注释掉,例如//#include<stdfafx.h>,因为它可能是导致错误的罪魁祸首。

11
这绝对是个坏主意。 - egrunin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接