C++ > VS 2010 -> Exe geht auf anderen Systemen nicht!
-
Hi. Ich habe mein Programm mal mit VS debugt, und >>gebuildet<<.
Nun habe ich ja die exe im Ordner debug, wenn ich da die exe raus kopiere, z.B. auf meinen Desktop, funktioniert sie immer noch prima, genau so.Also dann habe ich die datei meinem freund gesendet, doch bei ihm ging sie nicht, er sagt, er habe diese Fehlermeldung hier:
Die Anwendung konnte nicht gestartet werden, weil MSVCP100D.dll nicht gefunden wurde
Mein Programm habe ich euch mal hochgeladen:
http://www.imperatorclan.kilu.de/myUploads/ASCII_IMAGE_PROGRAM.exe1. Was kann ich tun?
2. Wie findet ihr das Programm, für einen Anfänger wie mich doch gut oder?
3. Im Ordner Debug gab es noch 2 andere Dateien, aber die brauchte ich ja nicht, brauch ich doch dann auch nicht mitzugeben oder?LG
Developer_X
-
Visual C++ 2010 Redistributable Package installieren.
-
1.) Eine Release-Version erstellen ohne Debug-Informationen
2.) Wie schon vom Vorposter gesagt die C++ Runtime installieren auf dem Zielsystem
http://www.microsoft.com/downloads/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84&displaylang=enrya.
-
Oder die CRT statisch linken.
-
Aber ich dachte, ordentliches C++ ist Plattform unabhängig. Und wie erstellt man eine Release Version mit MS VS 2010.
Und sagt mal, was haltet ihr eigentlich von meinem Programm?
Ich wills ehrlich mal wissen, damit kann man doch eigentlich alles machen, was man will.
Geplant war:
Alles mit ASCII-Bildern machen zu können, also:- Erstellen
- Anzeigen
- Editieren
Findet ihr es gut für ein Anfängerprogramm?
Ich weiß nicht, aber mich stört das schon ein bisschen, dass man bei dem laden noch .image schreiben muss, was meint ihr?
LG
Developer_X
-
Der Code ist platformunabhängig, aber nicht das binäre resultat.
Rest steht im Handbuch von VS2010 aka MSDN.
rya.
-
Developer_X schrieb:
Aber ich dachte, ordentliches C++ ist Plattform unabhängig.
Das ist ein bisschen anders gemeint. Du kannst das Programm für jede Plattform übersetzen lassen, aber du kannst nicht die fertige Executable zwischen Plattformen portieren. Du kämst ja wahrscheinlich auch nicht auf die Idee, deine Exe unter einer komplett anderen Plattform wie Linux laufen lassen zu wollen (wobei das mit Wine sogar funktionieren würde
).
Hier ist der Unterschied zwischen den Plattformen eben der, dass in dem einen System die C++-Runtime zum dynamischen Linken verfügbar ist, auf dem anderen nicht. Dein Linker hat aber eine Executable erstellt die annimmt, dass die Runtime verfügbar ist, was auf dem System wo du übersetzt hast ja auch der Fall war.
-
Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Release Version erstellen: Du siehst in VC++ oben ein Auswahlfenster, indem Debug steht. Dort Release auswählen und kompilieren.
-
http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx
Projekteigenschaften->"Release auswählen"->C/C++/->Codegeneration->RuntimeLibrary
Von /MD auf /MT setzen.