Ich habe einige Effekte in C ++ (g ++) mit freeglut unter Linux geschrieben und kompiliere sie mit
g++ -Wall -lglut part8.cpp -o part8
Ich habe mich also gefragt, ob es möglich ist, dass g ++ statisch kompilierte ausführbare Windows-Dateien erstellt, die alles Notwendige enthalten.
Ich habe kein Windows, also wäre es wirklich cool, wenn ich das unter Linux machen könnte :)
Antworten:
mingw32 existiert als Paket für Linux. Sie können Windows-Anwendungen damit kompilieren und verknüpfen. Hier im Code :: Blocks-Forum gibt es ein Tutorial . Beachten Sie, dass sich der Befehl beispielsweise in ändert
x86_64-w64-mingw32-gcc-win32
.Ubuntu hat beispielsweise MinGW in seinen Repositories:
quelle
Eine Möglichkeit zum Kompilieren für Windows unter Linux ist mingw. Ich habe hier ein sehr hilfreiches Tutorial gefunden .
Führen Sie den folgenden Befehl aus, um mingw32 auf Debian-basierten Systemen zu installieren:
sudo apt-get install mingw32
Um Ihren Code zu kompilieren, können Sie Folgendes verwenden:
i586-mingw32msvc-g++ -o myApp.exe myApp.cpp
Manchmal möchten Sie die neue Windows-Anwendung direkt unter Linux testen. Sie können dafür Wein verwenden, obwohl Sie immer bedenken sollten, dass Wein Fehler haben kann. Dies bedeutet, dass Sie möglicherweise nicht sicher sind, ob ein Fehler in Wine, Ihrem Programm oder beiden vorhanden ist. Verwenden Sie Wein daher nur für allgemeine Tests.
Führen Sie Folgendes aus, um Wein zu installieren:
sudo apt-get install wine
quelle
mingw32-binutils
undmingw32-runtime
weil sie Abhängigkeiten vonmingw32
void main(){}
etc ...), ich denke es kompiliert unter windows aber schlägt bei mingw fehl, ich habe sie behoben. Ich habe es auch versuchti586-mingw32msvc-cpp
und es wurde eine Textdatei mit so etwas wie zu kompilierenden Dingen generiert lol .. das g ++ hat funktioniert, danke!mingw32
(als "Abhängigkeiten" gekennzeichnet. Wenn Sie sie angeben, werden sie nicht (als "manuell" gekennzeichnet).Vorgeschlagene Methode gab mir Fehler unter Ubuntu 16.04: E: Paket mingw32 konnte nicht gefunden werden
================================================== =========================
Um dieses Paket unter Ubuntu zu installieren, verwenden Sie bitte Folgendes:
Nach der Installation können Sie es verwenden:
Bitte beachten Sie!
Für 64-Bit-Verwendung: x86_64-w64-mingw32-g ++
Für 32-Bit-Verwendung: i686-w64-mingw32-g ++
quelle
Installieren Sie einen Cross-Compiler wie mingw64 von Ihrem Paketmanager. Kompilieren Sie dann folgendermaßen: Anstatt einfach den
gcc
Aufrufi686-w64-mingw32-gcc
für 32-Bit-Windows oderx86_64-w64-mingw32-gcc"
64-Bit-Windows aufzurufen . Ich würde auch die--static
Option verwenden, da das Zielsystem möglicherweise nicht alle Bibliotheken hat.Wenn Sie eine andere Sprache wie Fortran kompilieren möchten, ersetzen Sie diese
-gcc
durch-gfortran
die vorherigen Befehle.quelle
Ich habe mingw unter Linux verwendet, um ausführbare Windows-Dateien in C zu erstellen. Ich vermute, dass C ++ auch funktionieren würde.
Ich habe ein Projekt, ELLCC, das Clang und andere Dinge als Cross-Compiler-Toolkette verpackt. Ich benutze es, um Clang (C ++), Binutils und GDB für Windows zu kompilieren. Folgen Sie dem Download-Link auf ellcc.org, um vorkompilierte Binärdateien für mehrere Linux-Hosts zu erhalten.
quelle
Von: https://fedoraproject.org/wiki/MinGW/Tutorial
"Tipps und Tricks zur Verwendung des Windows-Cross-Compilers": https://fedoraproject.org/wiki/MinGW/Tips
quelle
für Fedora ist es
quelle
sudo dnf groupinstall ...
.