Mingw kompiliert kann unter Linux ausgeführt werden. Die Kompilierungsmethode ist: 1. Installieren Sie mingw32 über den Befehl „sudo apt-get install mingw-w64“. 2. Führen Sie „sudo apt-get install wine-development wine ~“ unter Linux aus .exe >Hallo Welt".
Die Betriebsumgebung dieses Tutorials: Ubuntu18.04-System, mingw32, Dell G3-Computer.
Kann die von mingw kompilierte Version unter Linux laufen?
Ja.
Cross-Kompilierung von Windows-Programmen für die Linux-Plattform
Kompilierungs- und Testumgebung: ubuntu18.04
Schritt 1: mingw32 installieren
sudo apt-get install mingw-w64 sudo apt-get install mingw-w64-tools sudo apt-get install mingw-w64-i686-dev sudo apt-get install mingw-w64-x86-64-dev
Um Aufwand zu sparen, installieren Sie sie alle direkt.
Nach der Installation können Sie den Code kompilieren
i686-w64-mingw32-gcc -o hello.exe hello.c
Teil 2: Kompiliertes Programm testen
Die kompilierte Exe-Datei kann zum Testen nach Windows kopiert werden, aber um Aufwand zu sparen, möchte ich sie direkt unter Linux ausführen. Dies erfordert vollständigen Wein.
sudo apt-get install wine-development wine ~/hello.exe >hello world
Teil 3: 64-Bit-Programme kompilieren
Weil ich x64-Bit-Programme kompilieren muss, aber der Test ergab, dass das Programm ein 32-Bit-Programm ist.
x86_64-w64-mingw32-gcc -o hello64.exe hello.c
Teil 4: Verwendung der pthread-Bibliothek unter Windows
pthread ist wirklich einfach zu verwenden, und Windows verfügt standardmäßig nicht über die pthread-Bibliothek.
i686-w64-mingw32-gcc -o pthread_create.exe pthread_create.c -lpthread -D__WIN32
stellte unerwartet fest, dass es direkt kompiliert wurde, was darauf hinweist, dass mingw32 die pthread-Bibliothek enthalten hat.
Ich bin zu Windows gelaufen und habe es ausgeführt, und es hat „libwinpthread-1.dll...nicht gefunden“ gemeldet
Ich habe libwinpthread-1 direkt in den Ordner /usr/i686-w64-mingw32/lib kopiert. Kopieren Sie die DLL Datei nach Windows kopieren. Habe festgestellt, dass es funktioniert.
Einfach genug und grob genug, oder? Aber es ist wirklich cool
Tatsächlich habe ich die pthread-Bibliothek auch unter Windows heruntergeladen, aber leider wurde immer noch gemeldet, dass die Bibliothek nicht gefunden werden kann. Möglicherweise ist gcc nicht implizit geladen.
Über das Problem des Fehlens von libgcc_s_dw2-1.dll im MinGW-Compiler
Es stellt sich heraus, dass beim Verknüpfen standardmäßig dynamische Verknüpfungen verwendet werden und der Computer der anderen Partei kein abhängiges DLL-Modul hat.
Also habe ich den Befehl nach dem Link hinzugefügt:
-static-libstdc++ -static-libgcc
Verwandte Empfehlungen: „Linux Video Tutorial“
Das obige ist der detaillierte Inhalt vonKann die kompilierte Version von mingw unter Linux ausgeführt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!