2009-03-19 16 views
0

Je Ported un de mes anciens projets à VS2005 et je rencontre des avertissements de liaison tels queproblèmes Linker après le passage à VS2005 de VC6 (LNK4099)

xxxxx.lib(xxxxxxxx.obj) : warning LNK4099: PDB 'vc60.pdb' was not found with ...; linking object as if no debug info 

Maintenant, je l'ai essayé la reconstruction du projet, mais les avertissements gagné ne pars pas. Est-ce vraiment censé chercher vc60.pdb et non vc80.pdb? J'ai le fichier vc80.pdb ..

Merci

Répondre

4

Vous avez un .obj lié à votre fichier .lib qui contient des informations de débogage; cette information de débogage a un lien vers le vc60.pdb. Si le .lib est le vôtre, vous devez recompiler la source et reconstruire le fichier .lib pour mettre à jour cette référence. Si le fichier .lib ne vous appartient pas, vous devrez simplement ignorer cet avertissement et ne pourrez pas déboguer dans la source de ce fichier objet particulier.

+0

Merde. La lib n'est pas à moi .. :(C'est une librairie open-source, donc je vais essayer .. Merci – krebstar

0

Habituellement, un type de fichier .pdb est créé à des fins de débogage. Selon certaines informations que j'ai trouvées sur un type de fichier .pdb, il est dit "ce fichier contient des informations de débogage qui sont utilisées lorsque vous exécutez le programme en mode debug".

Je vois que votre seulement obtenir un avertissement pas une erreur que le programme devrait exécuter si vous avez zéro erreurs.

Je crois que la seule fois où vous avez besoin de ce fichier est pour le débogage ou le profilage. Normalement, le paramètre de version est utilisé dans la version finale pour obtenir l'exécution la plus rapide de votre programme. J'espère que cela t'aides.

1

VS2005 ne devrait normalement pas rechercher vc60.pdb, surtout pas après une reconstruction complète.

Peut-être avez-vous une bibliothèque tierce qui n'a pas été recompilée et contient toujours des références aux anciennes informations de débogage?

+0

Oui, j'ai une bibliothèque tierce partie .. tout correctif pour cela? – krebstar

0

Il s'agit probablement d'un fichier .lib qui a été compilé avec VS2005. Vous devez recompiler TOUT.