I can believe fly.

Monday, April 5, 2010

关于Fatal Error C1902的错误

关于Fatal Error C1902的错误


需求: 有个开发人员有个需求要在构建服务器调试程序,说是本地编译出来的文件会崩溃服务器上不会.

为了不跟构建环境混肴,另外开通了一个账号给他使用且要求要用开始->所有程序->附件->通讯->远程桌面工具登录
开发人员在使用vs2005编译程序时,出现如下错误:
 Error 1 fatal error C1902: Program database manager mismatch; please check your installation
奈闷了,换个账号也不行.在网上查了一下 fatal error C1902获取如下资讯
Fatal Error C1902

Error Message

program database manager mismatch; please check your installation

A program database file (.pdb) was created using a newer version of mspdb80.dll than the one found while compiling.

This error usually indicates that mspdbsrv.exe or mspdbcore.dll are missing or have different versions from mspdb80.dll. Ensure matching versions of mspdbsrv.exe, mspdbcore.dll, and mspdb80.dll are installed on your system.

解决方案参考:
Here are steps how I got it and solve:1. 
I like to compile some sources from the command prompt, so I added to the PATH environment variable - "C:\Program Files\Microsoft Visual Studio 8\VC\bin\".
 After that I had to copy some files from "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\" to get cl.exe working (one of files was mspdb80.dll).
2. Some time later I tryed to compile a project from MSDev and got C1902 error.
3. With MSDN search I got to this place to see Jonathan Caves's helpful message about mspdbsrv.exe.
4. I just copied that EXE to \VC\bin\ and everithing becomes Ok.5. Now I can compile anything from both MSDev and C:\ :)
本人直接解决方式:
1. 将C:\Program Files\Microsoft Visual Studio 8\Common7\IDE下的三个文件mspdb80.dll、mspdbsrv.exe、mspdbcore.dllcopy到C:\Program Files\Microsoft Visual Studio 8\VC\bin\
2. 重启系统