8

我需要从 VS2008 项目中使用 DirectX 编译一个外部库。我已将其转换为 VS2012 项目,但该项目无法编译。

我在许多文件中收到以下错误:

> fatal error C1073: Internal error involving incremental compilation 
(compiler file 'f:\dd\vctools\compiler\cxxfe\sl\p1\c\p0io.c', line 865)

这个错误是什么意思?

文件是什么p0io.c?我没有同名的文件(也没有f://磁盘)

4

2 回答 2

21

对于 VS2010,禁用配置属性 | C/C++ | 代码生成 | “最小重建”避免了错误。

于 2013-05-13T06:58:07.057 回答
2

您将看到__FILE__MSVC 编译器中的宏生成的输出。F: 驱动器是 Redmond 的构建机器上用于存储源代码的驱动器。 dd指 DevDiv,是 Microsoft 的服务器和工具部门的一个分支,负责开发工具产品,如 MSVC。文件名中的p0给出了编译器崩溃的提示,p0 是预处理器传递。因此,宏可能存在某种问题。尽管这io暗示了文件的问题。

没有可查看的代码,所以我只能推荐 C1073 的文档化解决方法。使用 Project + Properties、C/C++、General、Debug Information Format 设置禁用增量编译。将其从 /ZI 的默认值更改为 /Zi 并重建您的项目。确保首先手动删除构建目录中的任何 .pch 文件。希望您现在会收到错误消息,提示您的代码为何使编译器急转直下。解决这些问题,如果运气好的话,您可以重新打开 /ZI。

如果您仍然遇到问题并且您使用 VS2012 重现此问题,那么您可以在 connect.microsoft.com 提交错误报告。他们需要您的项目副本来重现问题。如果您不能等待或使用旧版本,请致电 Microsoft 支持。

于 2013-01-09T14:33:17.013 回答