VS2012 MSVCR120D.dll fehlt
Ich versuche mein Projekt in VS2012, um erfolgreich zu kompilieren und führen Sie eine OSG-code zu Debuggen. Ich bin auch mit OSG-debug-Bibliotheken. Kompilierung und Verknüpfung erfolgreich beenden, aber nachdem ich das binary bekomme ich eine Fehlermeldung, dass MSVCR120D.dll
fehlt.
War ich auf der Suche nach einer Lösung, um diesen Fehler den ganzen Tag und es macht keinen Sinn für mich, denn ich bin mit VS2012, dass verwenden sollten MSVCR110D.dll
. Ich auch nicht, habe diese dll in
C:\Windows\System32
gibt ' s nur MSVCR120.dll
und seinem älteren Versionen.
Wenn ich versuche zu kompilieren Sie das Projekt im release-Modus mit nicht-debug - osg Bibliotheken ist alles in Ordnung und ich kann normal laufen, das Projekt ohne Fehler.
Bezogen auf diese Frage, die ich versuchte zu spielen, mit MFC
und Runtime Library
Einstellungen aber nur die release-Bibliotheken funktioniert.
Ich muss es mit debug-Bibliotheken, da will ich mit Visual Leak Detector das nicht funktioniert mit der release-Bibliotheken. Dies ist Teil der code, den ich verwende (OSG libs kompiliert, mit dem gleichen VS2012).
#include "stdafx.h"
#include <windows.h>
//osg libs
#include <osgViewer/Viewer>
int main(int argc, char **argv) {
osgViewer::Viewer viewer;
while (!viewer.done()) {
viewer.frame();
}
return 0;
}
Hier sind screenshots von den Einstellungen meines Projekts, die den Fehler verursacht:
Allgemeine Einstellungen des Projekts
C/C++ - Code Generation-Untermenü
Meinst du, dass die OSG-Bibliotheken? Es ist seltsam, weil ich zusammengestellt osg libs von mir mit der gleichen VS2012, dass ich jetzt verwende.
Noet, dass ich VLD arbeiten im Release auch. Ich glaube nicht, dass es eingeschränkt funktioniert nur im Debug-Modus.
InformationsquelleAutor Kalam | 2014-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mindestens einer der Bibliotheken, die Sie verwenden, ist kompiliert mit VC12(2013), also entweder kompilieren Sie (Sie können sehen, welche Bibliothek kompiliert wird auf VC12 mit Dependency Walker oder installieren Sie die MSVC-2013 redistributables download von hier
MSVCR120D.dll
, sondern nur die lib ohne das "D" in seinem Namen. Ich werde versuchen, Dependency Walker, und wir werden sehen... Und wie ich traurig zu Hans, ich bin mit OSG-Bibliotheken, die ich von mir kompiliert mit der gleichen VS2012...das "D" steht für debug-Informationen, so müssen die Bibliotheken kompiliert wurden, für das Debuggen auf VS2013.
Ja ich habe es bekommen. Aber es ist wirklich seltsam, da sammle ich solche kurzen Teil des Codes (Hinzugefügt in Frage), wo sind nur die Bibliotheken, die ich zusammengestellt habe, indem ich mich mit dem gleichen VS2012. Kann ich das irgendwie ändern in cmake/generierte Projekt für welche version es die Bibliotheken? Nach klicken auf die Schaltfläche "konfigurieren" wähle ich die Visual Studio 11, Generierung der Projekt-und ich habe dann einfach kompilieren Sie es für debug und release und schließlich istall. Ich dachte, dass dies Projekt anlegen Bibliotheken kompatibel mit meiner version von Visual Studio.
Wenn Sie den aktuellen dependency-Paket von OSG, die Bibliotheken kompiliert werden, die auf visual studio 2013, so müssen Sie entweder neu zu kompilieren jede Bibliothek einzeln mit oder verwenden ein älteres Paket osgvisual.org/projects/osgvisual/wiki/Downloads#Dependencies
Wie konnte ich das vergessen 3rPardy libs... Das ist es, ich habe die richtige 3rdParty libs für VS2012 und es funktioniert einfach. Thaks viel, du hast mich gerettet.
InformationsquelleAutor Bruno Ferreira