问题
I ported one of my old projects to VS2005 and am having linker warnings such as
xxxxx.lib(xxxxxxxx.obj) : warning LNK4099: PDB 'vc60.pdb' was not found with ...; linking object as if no debug info
Now, I've tried rebuilding the project but the warnings won't go away. Is it really supposed to be looking for vc60.pdb and not vc80.pdb? I do have the vc80.pdb file..
Thanks
回答1:
You have an .obj linked into your .lib that has debugging info in it; that debugging info has a link to the vc60.pdb. If the .lib is your own, you need to recompile the source and rebuild the .lib file to update that reference. If the .lib isn't yours, you'll have to just ignore this warning and won't be able to debug into the source of that particular object file.
回答2:
VS2005 should normally not look for vc60.pdb, especially not after a complete rebuild.
Maybe you have some third party library which was not recompiled and still contains references to the old debug info?
回答3:
Usually a .pdb file type is created for debugging purposes. According to some info I found on a .pdb file type it says "this file contains debugging information that is used when you execute the program in debug mode".
I see that your only getting a warning not an error the program should run if you got zero errors.
I believe the only time you need this file is for debugging or profiling. Normally the release setting is used in the final build to get the fastest execution of your program. Hope this Helps.
回答4:
It's probably some .lib file that was compiled with VS2005.
You need to recompile EVERYTHING.
来源:https://stackoverflow.com/questions/660768/linker-problems-after-switching-to-vs2005-from-vc6-lnk4099