Heim > Betrieb und Instandhaltung > Betrieb und Wartung von Linux > Kann die kompilierte Version von mingw unter Linux ausgeführt werden?

Kann die kompilierte Version von mingw unter Linux ausgeführt werden?

藏色散人
Freigeben: 2023-03-24 11:00:01
Original
2177 Leute haben es durchsucht

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".

Kann die kompilierte Version von mingw unter Linux ausgeführt werden?

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage