Problème avec Visual C ++ PROGRAM- ne peut pas trouver le CRT de débogage
-
23-09-2019 - |
Question
J'ai un ami qui prend plus d'un projet Visual C ++ de moi et est de la difficulté à l'exécuter. Il est une application graphique et utilise la bibliothèque Qt GUI. La raison pour laquelle je mentionne ceci est à cause de l'erreur ci-dessous.
Il peut construire et lier le programme à l'aide de Visual Studio 2010, mais quand il exécute ce message apparaît dans l'Observateur d'événements:
génération de contexte d'activation a échoué pour "D: \ Test \ Qt \ 4.2.2 \ bin \ QtGuid4.dll". Assemblée à charge Microsoft.VC80.DebugCRT, processorArchitecture = "x86", publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32", version = "8.0.50608.0" Ne peut être trouvé. Veuillez utiliser sxstrace.exe pour le diagnostic détaillé.
Lorsque nous faisons comme le message demande et exécuter sxstrace.exe, voici ce que nous voyons:
Début Contexte d'activation génération. Paramètre d'entrée: Flags = 0 ProcessorArchitecture = WOW32 CultureFallBacks = fr; en ManifestPath = D: \ Test \ Qt \ 4.2.2 \ bin \ QtGuid4.dll AssemblyDirectory = D: \ Test \ Qt \ 4.2.2 \ bin \
--------------- INFO: Parsing Manifest fichier D: \ Test \ Qt \ 4.2.2 \ bin \ QtGuid4.dll. INFO: Définition Manifest identité est (nul). INFO: Référence: Microsoft.VC80.DebugCRT, processorArchitecture = type "x86" = "win32", version = "8.0.50608.0" INFO: référence Résolution Microsoft.VC80.DebugCRT, processorArchitecture = "x86" "win32", version = "8.0.50608.0". INFO: La résolution de référence ProcessorArchitecture WOW64. INFO: La résolution de référence pour la culture Neutre. INFO: Application de reliure Politique. INFO: Pas de politique de l'éditeur trouvé. INFO: Pas redirect politique de liaison trouvée. INFO: COMMENCER sondage. INFO: Vous ne trouvez pas l'ensemble dans WinSxS. INFO: Tentative de sonde manifeste dans C: \ Windows \ assembly \ GAC_32 \ Microsoft.VC80.DebugCRT \ 8.0.50608.0__1fc8b3b9a1e18e3b \ Microsoft.VC80.DebugCRT.DLL. INFO: Vous ne trouvez pas manifeste pour la culture neutre. INFO: assemblage final sondage. INFO: référence Résolution pour ProcessorArchitecture x86. INFO: La résolution de référence pour la culture Neutre. INFO: Application de reliure Politique. INFO: Pas de politique de l'éditeur trouvé. INFO: Pas redirect politique de liaison trouvée. INFO: COMMENCER sondage. INFO: Vous ne trouvez pas l'ensemble dans WinSxS. INFO: Tentative de sonde manifeste dans C: \ Windows \ assembly \ GAC_32 \ Microsoft.VC80.DebugCRT \ 8.0.50608.0__1fc8b3b9a1e18e3b \ Microsoft.VC80.DebugCRT.DLL. INFO: Tentative de sonde manifeste à D: \ Test \ Qt \ 4.2.2 \ bin \ Microsoft.VC80.DebugCRT.DLL. INFO: Tentative de sonde manifeste à D: \ Test \ Qt \ 4.2.2 \ bin \ Microsoft.VC80.DebugCRT.MANIFEST. INFO: Tentative de sonde manifeste à D: \ Test \ Qt \ 4.2.2 \ bin \ Microsoft.VC80.DebugCRT \ Microsoft.VC80.DebugCRT.DLL. INFO: Tentative de sonde manifeste à D: \ Test \ Qt \ 4.2.2 \ bin \ Microsoft.VC80.DebugCRT \ Microsoft.VC80.DebugCRT.MANIFEST. INFO: Vous ne trouvez pas manifeste pour la culture neutre. INFO: assemblage final sondage. ERREUR: Impossible de résoudre référence Microsoft.VC80.DebugCRT, processorArchitecture = "x86", publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32", version = "8.0.50608.0".
Désolé pour la longueur de ce message, mais je pensais qu'il pourrait faire du jogging quelques souvenirs. Est-ce un cas de ne pas avoir son Visual C ++ 2005 (je crois que c'est là le VC80 vient) bibliothèques d'exécution C installés? Si oui, peut-il télécharger le package de redistribution VC ++ et l'installer, et tout sera bien alors? Ou est-ce un problème complètement différent?
La solution
Si votre ami ne dispose pas VS2005 installé, il ne disposera pas des bibliothèques d'exécution de débogage pour elle. Ils ne font pas partie des runtimes redistribuables et IIRC, Microsoft vous interdit de les distribuer afin que vous vous devez avoir installé VS2005 afin de les obtenir.
Je suggère qu'il avait reconstruire la bibliothèque affectée si possible; Je me rappelle vaguement qu'il ya deux ou trois articles sur le Web sur la façon de reconstruire le QT GPL en utilisant Visual Studio, que je crois est pas officiellement pris en charge.
Le mélange des runtimes C nécessite beaucoup de soins et vous pouvez tomber dans un piège assez méchant si vous ne l'obtenez pas tout à fait exact. Si la reconstruction de toutes les bibliothèques avec VS2010 est pas une option, votre ami devra mettre la main sur VS2005. Il pourrait être utile de vérifier si MS offre encore l'Express Edition de VS2005 pour le téléchargement.
Autres conseils
Vous pourriez aussi bien faire ci-dessous: LOL
Si vous exécutez votre application en mode X64 Windows 7 qui construit dans la cible X64, vous devez installer le package redistribuable X64 SP1 suivant
http://www.microsoft.com/download/en/ Details.aspx? id = 2092
Remarque: Le fichier manifeste doit changer pour processorArchitecture = X64 et type = "win64"
Si vous construisez votre application avec X86 (mode 32 bits) qui fonctionnent au-dessus de la couche WOW64 vous devez installer X86 SP1 package redistribuable
http://www.microsoft.com/download/ fr / Details.aspx? displaylang = fr & id = 5582