2010-11-23 3 views
14

J'essaye de lier contre une bibliothèque (libcef_wrapper_dll.lib) qui a été construite avec l'indicateur/MDd. Mon application est construite avec/MDd et/CLR donc devrait être compatible. Le projet compile très bien mais en liant je reçois l'erreur très inutile ci-dessous:LNK1318: erreur PDB inattendue; OK (0)

Error 1 fatal error LNK1318: Unexpected PDB error; OK (0) '' c:\Projects\Cef\CefSharp\libcef_dll_wrapper.lib 1 CefSharp 

Je n'ai pas un fichier .pdb pour le .LIB, ai-je besoin?

+0

Plusieurs conseils dans ce fil: http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/9e58b7d1-a47d- 4a76-943a-4f35090616e8 –

Répondre

14

Il s'est avéré que j'avais besoin de supprimer tous les fichiers temporaires du projet inc. supprimez le serveur de symboles de débogage et redémarrez Windows. J'ai vu LNK1318: erreur PDB inattendue;

4

UNKNOWN (24) lors de la liaison.

Il est arrivé quand j'ai eu plus de deux liens de grandes sorties se produisant à la fois - mspdbsrc.exe utilisé de plus en plus de mémoire, appuyez sur 2gig ou plus, puis s'est écrasé.

1

J'ai l'erreur de génération comme suit: LINK: erreur irrécupérable LNK1318: erreur PDB inattendue;

Plusieurs URL sont mentionnées à ce sujet, mais il n'y a pas de solutions terminées. Quelqu'un a dit mspdbsrv.exe est le fauteur de troubles. Une fois que j'ai nettoyé le résultat de la construction incrémentielle et fait une construction propre et nette, cela fonctionne bien.

http://connect.microsoft.com/VisualStudio/feedback/details/296978/link-fatal-error-lnk1318-unexpected-pdb-error-unknown-24

http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/9e58b7d1-a47d-4a76-943a-4f35090616e8

0

j'ai eu le problème parce que j'avais un fichier avec l'option/clr qui a été tout embrouiller. J'ai déplacé le code spécifique CLR dans un fichier séparé, nettoyé, reconstruit et le problème est parti.

1

Ceci est une limitation technique de l'éditeur de liens VC. Vous devriez essayer de diviser davantage vos modules de code. Le fractionnement des bibliothèques aide également avec des temps de liaison extrêmement longs.

Voyez si vous pouvez construire avec succès sur le mode de libération

1

Celui-ci a fonctionné pour moi: Propriétés du projet -> C/C++ -> Génération de code -> Activer la fonction de niveau liaison -> Oui

2

Reconstruire la projet résolu le problème

3

La meilleure solution pour moi a toujours été de simplement tuer le serveur de symboles. J'ai un fichier de commandes sur mon bureau pour le faire:

@for /F "tokens=2 delims= " %%I in ('tasklist^|findstr /I "mspdbsrv.exe"') do taskkill /F /PID %%I>NUL && echo Process killed. 
+0

C'est tout ce que j'avais à faire aussi. Utilisez Process Explorer pour tuer mspdbsrv.exe, reliez le projet défaillant. –

Questions connexes