Ich bin nicht wirklich sicher, ob dies zu SuperUser oder StackOverflow gehört, aber es scheint kein Codierungsproblem zu sein, also werde ich damit arbeiten.
Ich habe mit Visual Studio 2013 mit FreeGLUT und FreeImage an einem C ++ - Spiel gearbeitet. Ich kann es ohne Probleme auf meinem Desktop kompilieren und ausführen, aber wenn ich versuche, denselben Code auf meinem Laptop zu kompilieren, erhalte ich die Fehlermeldung "msvcr110 d .dll fehlt auf Ihrem Computer." Danach besteht eine Chance von etwa 50%, dass Visual Studio einfriert, und ich bin gezwungen, den Computer neu zu starten, da der Task-Manager den Prozess nicht anhalten kann (ein anderes Problem, an dem ich noch arbeite).
Bei der Google-Suche wurde ich aufgefordert, Visual C ++ Redistributable 2012 zu installieren. Dieses war jedoch bereits auf diesem Laptop (sowohl x86 als auch x64) installiert und wurde neu installiert (von http://www.microsoft.com/de-de/download/details.aspx) ? id = 30679 ) hat überhaupt nicht geholfen. Ich habe auch versucht, Visual C ++ Redistributable 2013 (x86 & x64, von http://www.microsoft.com/de-de/download/details.aspx?id=40784 ) zu installieren, jedoch ohne Erfolg. Beide Links enthalten einen ARM-Download. Ich bin nicht sicher, was das ist, und der Versuch, es zu installieren, führt zu einem Popup-Fenster, das besagt, dass es unter dieser Windows-Version (Windows 8) nicht installiert werden kann. Ich gehe also davon aus, dass ich das nicht brauche .
In dem Ordner C: \ Windows \ SysWow64 kann ich msvcr110.dll sehen, aber nicht msvcr110 d .dll. Es sieht so aus, als ob die Release-Version installiert wurde, nicht jedoch das Debugging. Ich sehe msvcr120 d .dll, welche Version von 2013 sollte richtig sein? Sollte Visual Studio 2013 also nicht anstelle von msvcr110 d .dll verwenden?
Beim Ausführen eines standardmäßigen C ++ HelloWorld-Projekts ist dieses Problem nicht vorhanden. Ich denke, es muss etwas mit FreeGLUT oder FreeImage zu tun haben. Es wird jedoch ohne Probleme auf meinem Desktop kompiliert und ausgeführt, daher glaube ich, dass alles korrekt codiert und verlinkt ist. Ich habe die Include-Verzeichnisse, Bibliotheksverzeichnisse (beide waren Debugging) und Opengl32.lib & FreeImaged.lib als zusätzliche Abhängigkeiten hinzugefügt.
Die Installation von Visual C ++ Redistributable hat nicht geholfen. Gibt es eine andere Möglichkeit, dieses Problem zu lösen? Sollte Visual Studio 2013 überhaupt msvcr110d.dll oder msvcr120d.dll verwenden? Benötige ich die ARM-Installation von der MSVCR-Downloadseite? Ich verwende Windows 8 64 Bit (auch ein brandneuer Laptop, daher glaube ich nicht, dass es Korruptionsprobleme gibt). Vielen Dank im Voraus für Ihre Hilfe.
Doug
Warum benötigen Sie eine ARM-Installation, wenn Sie auf x86-64-Hardware laufen? Das Problem liegt entweder bei FreeGLUT oder FreeImage. Wenn sie Open Source sind, kompilieren Sie sie so, dass sie entweder x64 oder x86 unterstützen. VS2013 sollte msvcr120.dll installieren, wenn Sie derzeit an einem 32-Bit-Speicherort und nicht an einem 64-Bit-Speicherort suchen.
Ramhound vor 10 Jahren
0
Ich bin nicht wirklich sicher, was die ARM-Installation macht, deshalb frage ich, nur deshalb bin ich mir sicher, dass ich es nicht brauche. Ich habe sowohl FreeImage als auch FreeGLUT kompiliert, und sie funktionieren auf meinem Desktop. Ich glaube, das funktioniert einwandfrei. Da sowohl mein Desktop als auch mein Laptop Visual Studio 2013 verwenden, sollten sie denselben Compiler verwenden, und ich sollte diese Lösungen nicht neu kompilieren müssen, oder? Ich bin mit C ++ nicht so vertraut, aber das ist der Eindruck, den ich habe.
Doug vor 10 Jahren
0
Die weitervertreibbaren Pakete wie das von Ihnen installierte enthalten nicht die Debug-Versionen der DLLs. Daher werden Sie diese nicht bekommen. Diese sind nur verfügbar, wenn Sie Visual Studio installieren. Sobald Sie sie jedoch haben, können Sie sie mit Ihrem Programm zum Testen kopieren.
Tim vor 10 Jahren
0
Siehe auch: [Freigabeanwendung, die nach MSVCR110d.dll sucht] (http://stackoverflow.com/questions/13851522/)
and31415 vor 10 Jahren
0
2 Antworten auf die Frage
4
Patrick Seymour
"Beim Ausführen eines Standardprojekts in C ++ HelloWorld ist dieses Problem nicht vorhanden. Ich denke, es muss etwas mit FreeGLUT oder FreeImage zu tun haben. "
Ich denke, du bist auf dem richtigen Weg. Es hört sich an, als ob FreeGLUT oder FreeImage im Debug-Modus kompiliert werden. Aus diesem Grund werden die "D" -Versionen angefordert. Stellen Sie sicher, dass Sie Releasezusammenstellungen Ihrer Abhängigkeiten verwenden.
Ich habe versammelt, dass die d-Versionen Debug bedeuten, aber ich habe gerade erst mit diesem Projekt angefangen. Das Programm, das den Fehler hatte, war nur ein Test, bei dem ich Bilder abrufen und bewegen konnte. Ich denke, es wäre eine gute Idee, Debug-Compilations zu verwenden, bis ich etwas zu veröffentlichen habe. Das sollte das Auffinden von Codierungsfehlern erleichtern, da ich das Spiel erstelle.
Doug vor 10 Jahren
0
Auf der VS2013-DVD unter Paketen befinden sich MSI-Installationsprogramme für die Debug-Laufzeit. Installiere sie.
magicandre1981 vor 10 Jahren
1
Nach dem Mounten der .iso-Datei, die ich von VS2013 heruntergeladen hatte, befinden sich 2 Ordner / packages / vcRuntimeDebugD11 (_x86 / _amd64) mit jeweils einem .msi-Installationsprogramm. Der Versuch, beide auszuführen, sagt mir jedoch einfach, setup.exe zu verwenden, was nicht zu helfen scheint. Es erwähnt andere Installationsoptionen, die in einer ReadMe.htm-Datei aufgelistet sind, aber ich kann das nirgendwo in der .iso finden. Jeder dieser Ordner verfügt außerdem über eine CAB-Datei, die eine Reihe von ** 110d ** -Dateien enthält (msvcr110d ist eine davon). Es scheint, als ob die Dateien, die ich vermisse, vorhanden sind. Gibt es eine Möglichkeit, eine Installation dieser Dateien zu erzwingen? Kann ich sie irgendwie manuell extrahieren?
Doug vor 10 Jahren
0
Was ich bekam, war nur zu sehen, ob dies das Problem mit den Debug-DLLs verursacht. Wenn die Debug-DLLs auf Ihrem Laptop fehlen, würde ich vermuten, dass bei der Installation von Studio etwas nicht stimmt.
Patrick Seymour vor 10 Jahren
0
Ich habe Visual Studio bereits komplett neu installiert (und dies ist ein brandneuer Laptop, daher sollte Windows keine Probleme haben). Wenn sich die benötigten Dateien in der .iso-Datei befinden, gibt es eine andere Möglichkeit, sie zu installieren? Ich vermute nicht, dass ich sie manuell in ein bestimmtes Verzeichnis extrahieren kann und das magisch klappen kann.
Doug vor 10 Jahren
0
0
Bryan
Wenn Sie versuchen, Remote-Debugging durchzuführen (oder möglicherweise in anderen Szenarien), müssen Sie möglicherweise die Einstellung für die Laufzeitbibliothek unter Debug-DLL für mehrere Threads (/ MDd) -> Debug für mehrere Threads (/ MTd) ändern.
Sie können dies erreichen (in VS2012), indem Sie mit der rechten Maustaste auf Ihr Projekt klicken, Properties-> C++-> auswählen Code Generationund dann die Runtime LibraryOption herunterziehen und sie in eine der Einstellungen ohne "DLL" ändern (wählen Sie Ihre Einstellung danach, ob Sie dies tun einen Debug-Modus oder einen Release-Modus generieren möchten).