C++ Compiler Problem?
Hallo,
Ich habe ein Programm in C++ geschrieben und Compilliert wenn ich die EXE Datei dann auf einem anderen PC ausführe wo kein Compiler drauf installiert ist meldet er irgendeine Fehler Meldung. Ich verwende MinGW 32Bit. Was muss man hinten andern Compiler dranhängen um das Programm auf anderen Computern ausführen zu können?
5 Antworten
Je nachdem welche Sachen Du verwendest, sollte natürlich auch die Runtime/Standardbibliothek dazugepackt werden.
Du möchtest vermutlich die Dokumentation von g++(gcc) anschauen udn nach -static und Konsorten schauen.
Leider weiß ich nicht, wie diese Fehlermeldung lautet... ich kann daher nur Mutmaßungen anstellen:
Vielleicht solltest Du die Runtime Libraries Deines C++ Compilers auf dem 2. Rechner installieren - oder Dein Proggie gleich mit statischen Libraries compilieren. Beim zweiten Verfahren wird die EXE dann zwar größer, sollte dann aber auch ohne die Runtimes korrekt funktionieren.
Ein Compiler erstellt dir in der Regel eine ausführbare Datei, die auf bestimmte Betriebssysteme zugeschnitten ist. Diese kannst du auf anderen Rechnern womöglich nicht ausführen.
Du musst die Datei für den jeweiligen Rechner compilieren und dafür sorgen, dass alle benötigten Bibliotheken vorhanden sind und für das entsprechende System compiliert wurden.
Für Windows würde ich im Übrigen den Microsoft-Compiler nutzen, da minGW meines wissens nach bei 64-Bit schwierig war und auch noch anderweitige Probleme bereitete.
Du kannst dir entweder die Commandline-Tools herunterladen oder Visual Studio. Hat beides Vor- und Nachteile.
Am besten einfach Visual Studio installieren. Da ist der Compiler schon dabei. Hier die kostenlose Community-Version: https://visualstudio.microsoft.com/de/vs/community/
Optional empfehle ich noch das: https://wixtoolset.org/releases/ Damit kann man in Visual Studio sein fertig kompiliertes Projekt in ein MSI Installationspaket verpacken. Das MSI-Format ist windows-zertifiziert und diesem gehört die Zukunft. Das ganze funktioniert so: Beim Kompilieren wird auch eine Protokolldatei erstellt. Anhand dieser Datei wird dann das Installationspaket gebaut. Dabei werden auch alle benötigten DLLs und andere Abhängigkeiten mit reingepackt. Sie benötigen die WiX Toolset build tools und die WiX Toolset Visual Studio Extension
Dann können sie einfach auf dem anderen PC das erstellte MSI Installationspaket per Doppelklick installieren.
Man darf auf keinen Fall mit Debug compilieren. Denn dann werden Debug-Versionen der DLLs benötigt, die zum Compiler gehören und die man nicht weitergegeben darf.
Die Release-Versionen sind bei Windows normalerweise vorhanden. Notfalls gibts die kostenlos bei Microsoft als Download. (Microsoft Visual C++ Redistributables)
Wie kann man mit statischen Libraries compielieren?