3

在 Windows 7 SP1(64 位)下使用 Visual Studio 2003 Professional,从命令行编译,我得到一个致命错误 C1074: IDB is illegal extension for PDB file。关于此错误的文档很少,不能轻描淡写。令人难以置信的奇怪之处在于,在同一台计算机上但在不同帐户下使用相同的构建脚本不会产生此错误。

我的第一个猜测是环境变量中的某些东西导致了这种冲突,但是为两个帐户在它们之间做一个差异,并将 PATH 和 INCLUDE 修改为相同并不能修复错误。

有没有人可以解决这个错误,或者知道是什么实际触发了它?没有任何文件是用/Z任何类型的开关编译的,据我所知,PDB实际上不应该生成任何文件(并且在成功构建时,不会生成我可以看到的IDBOR文件)。PDB

4

3 回答 3

5

我在使用 Windows 7 x64 和 Visual Studio 2005 Pro (SP1) 上的解决方案时遇到了同样的问题。

症状

我正在使用 Visual Assist X(当前构建 2007)。所以在我的情况下,我需要做的就是通过将feacp.dl内部重命名为其他内容来禁用 IntelliSense C:\Program Files (x86)\Microsoft Visual Studio 8\VC\vcpackages。这修复了启动时的崩溃(可能与 OP 遇到的问题无关)。

之后Debug配置给了我很多

fatal error C1033: cannot open program database ''

错误,每个由cl.exe.

有了Release我得到的配置

fatal error C1074: 'IDB' is illegal extension for PDB file: <filename>

即OP所询问的那个。

解决方案

我在其他地方或多或少地偶然发现了解决方案,为 VS 2003 报道。从某种意义上说,它与卢克的回答相反。

致命错误 C1074

如果 Windows 7 机器打开了 Windows XP 兼容模式,则会报告此错误。要解决此错误,请关闭 Windows XP 兼容模式并重新编译解决方案。

如果您有其他问题,请查看 MSDN 论坛以获得更多帮助。它不是来源,它听起来更像是您的 VS 设置。我以前从未遇到过这个问题,所以我帮不上什么忙。

这促使我检查了devenv.exe(在我的情况下C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE)的设置。它看起来像这样:

devenv.exe 的当前用户设置

在我的例子中,它被设置为与 Windows 2003 Server 兼容,如上面的屏幕截图所示。但是,必须关闭兼容性!(复选框未选中)

还要确保通过单击第二个突出显示的按钮检查并更正所有用户的设置(如果您尚未运行特权,则会显示 UAC 提示)。

devenv.exe 的所有用户设置

这解决了我的问题,我可以避免一直运行 VS 2005 Pro。

于 2013-12-08T06:13:09.923 回答
2

根据我在 MSDN 上收集的关于类似但不完全相同的问题的信息:

由于它编译时除了用户帐户之外没有其他更改,我相信它可能与用户帐户权限有关。检查并查看 VS 设置和 Windows 用户设置中的用户权限之间的差异。

我会尝试的第一件事是关闭 VS,使用不会Run As Administrator编译的帐户重新打开,看看会发生什么。

于 2012-08-17T08:14:35.097 回答
0

在尝试分享我的一些麻烦的解决方案,并希望将它们留给其他人,我在尝试在 Win8-x64 机器内编译 VS2005/SP1 中的旧解决方案时遇到了同样的问题。无论我尝试做什么,它总是停止抱怨非法 IDB 扩展......

另一方面,当“提升”运行时,相同的解决方案在我以前的 Win7-x64 机器中完美编译。

经过一番挣扎,我发现我必须使用 Win8“程序兼容性助手(或英文版中的任何名称 - 我的操作系统使用不同的语言)并告诉它在 Win7 升级环境中运行 VS2005。之后,晦涩难懂的“IDB 是非法的”错误立即消失了!

希望这会对某人有所帮助=)

于 2013-09-16T17:00:22.540 回答