Mit MVS2012 erstelltes Programm "MSVCR120D.dll fehlt"

3386
lolgab123

Ich habe angefangen, mit Visual Studio Express 2012 zu programmieren, statt mit Code :: Blocks, was viel schöner ist, aber jetzt habe ich ein RIESIGES Problem: Mein Ziel ist es, ein kostenloses OpenSource-Projekt mit vielen pädagogischen / lustigen Programmen zu veröffentlichen, von denen DOWNLOADED ist andere, aber wenn sie dies tun, heißt es, dass "MSVCR120D.dll" fehlt, sodass sie nichts öffnen können! Das gleiche Projekt wurde auf Code :: Blocks kompiliert und alles hat perfekt funktioniert, aber jetzt mit Visual Studio funktioniert nichts!

Also hier meine Frage: Wie kann ich einfach meinen Code kompilieren (nur eine .c- oder .cpp-Datei), damit andere ihn ohne Probleme ausführen können?

-1
Warum können sie die VC ++ Redistributable nicht von Microsoft herunterladen? Ramhound vor 9 Jahren 0
Die Programme, die ich geschrieben habe, sind wirklich für ein breites und normales Publikum gedacht, das vielleicht nicht viel Computerkenntnis besitzt, und manche Leute wollen einfach nichts installieren ... Gibt es eine Möglichkeit, wie alle existierenden Softwares, so zu kompilieren mein code also muss nichts installiert werden? lolgab123 vor 9 Jahren 0
Das ist die Frage: Wie machst du das? Meine Programme verwenden nur grundlegende Bibliotheken und Header wie oder ... Siehe unter https://docs.google.com/file/d/0B2DQgwgiU8LZOWlYSEpodDRsWjA/edit lolgab123 vor 9 Jahren 0

2 Antworten auf die Frage

2
Daniel B

Wenn es fehlt MSVCR*D.dll, ist es ein Debugbuild. Die Debug-Laufzeit ist nicht Teil des weitervertreibbaren Pakets. Bauen Sie einfach eine Release-Version.

Übrigens: Die Zahl 120 steht für Visual C ++ 2013, nicht für 2012.

omg, ich wusste nicht, ob ich diese Option wusste ... es tut mir wirklich leid, aber danke! Ich werde das bald überprüfen und Ihnen sagen, ob es funktioniert hat lolgab123 vor 9 Jahren 0
Oh, vielleicht ... Es ist die Version 12.0. Da 2010 10.0 war, dachte ich, dass 12.0 2012 war. Ändert sich etwas? lolgab123 vor 9 Jahren 0
Nein. Es bedeutet nur, dass Sie eine aktuellere VC ++ - Version verwenden. Dies ist wichtig bei der Entscheidung, welches verteilbare Paket installiert werden soll. Daniel B vor 9 Jahren 0
1
ilian

Sie können Ihre Anwendung mit der statischen Laufzeit mithilfe des / MT-Kompilierungsflags erstellen. Dadurch entfällt die Installation der Laufzeitumgebung beim Ausführen der kompilierten Binärdatei.

Weitere Informationen zu Compiler-Flags finden Sie unter https://msdn.microsoft.com/de-de/library/2kzt1wy3.aspx

Danke, wird das überprüfen, wenn die erste Lösung (Umschalten in den Freigabemodus) nicht funktioniert lolgab123 vor 9 Jahren 0
@ lolgab123 Sie können immer beides tun, da Benutzer das Visual C ++ Redistributable-Paket nicht installieren müssen. Daniel B vor 9 Jahren 0
OK danke! Ich werde das heute Abend definitiv überprüfen! Ich werde diese Antwort auch prüfen, wenn ich es könnte;) lolgab123 vor 9 Jahren 0
mmmhhhh ... Dank des Links scheint der entsprechende Fall MD / MT nicht zu verwenden ... Und wie benutzt man das? Ist es einfach / MD [_MD] irgendwo in den ersten Codezeilen? lolgab123 vor 9 Jahren 0
@ lolgab123 Sie können die Compiler-Optionen in der IDE einstellen: https://msdn.microsoft.com/en-us/library/3600tzxa.aspx Weitere Informationen zum Unterschied zwischen / MT und / MD finden Sie unter http : //stackoverflow.com/a/6799647 ilian vor 9 Jahren 0