Kann man auf dem Mac mit clang(++) eine *.exe-Datei erstellen?
Hallo,
ich habe mit C++ ein kleines Programm geschrieben und es mit llvm clang++ kompiliert. Es läuft als *.out Datei und als Unix-Konsolenprogramm(das, was keine Endung hat).
kann ich mit clang++ oder einem anderen Compiler aus meiner *.cpp-Datei eine *.exe-Datei erstellen und wie?
Danke
2 Antworten
Kann man schon allerdings braucht man dafür einen Crosscompiler für Windows bzw muss man Clang sagen, dass es die Executable für Windows erzeugen soll.
Für gewöhnlich gehen Compiler davon aus, dass die Platfform für das Kompilieren auch die Zielplatform ist.
Hier steht das ganze beschrieben:
Allerdings nur mit Hello World. Je nach Umfang deines Programms brauchst du auch noch andere Externen Libraries, die ja bereits für Windows Kompiliert sein müssen.
Naja ist ja auch irgendwie klar. Mac OS kommt ja nicht von Haus aus mit allen Libraries für Windows daher.
Daher brauchst du die Libraries für Windows eben extra damit du auch das Programm erstellen kannst.
Das ist ja auch der Grund warum man für Cross Platform Programme kein C/C++ sondern eher Java, C# oder Interpretersprachen wie Python nimmt. Da liefern die Runtimes die notwendigen Libraries für die Zielplattform.
Siehe die Antworten hier (aber nicht die akzeptierte, sondern die Schritt für Schritt-Anleitung): https://stackoverflow.com/questions/23248989/clang-c-cross-compiler-generating-windows-executable-from-mac-os-x
Beachte: EXE-Dateien funktionieren nur unter Windows.
Und für größere Sachen macht das wirklich keinen Spaß.
so komplex?!