hello world"."/> hello world".">

Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bolehkah versi kompilasi mingw dijalankan di bawah linux?

Bolehkah versi kompilasi mingw dijalankan di bawah linux?

藏色散人
藏色散人asal
2023-03-24 11:00:012151semak imbas

Mingw yang disusun boleh dijalankan di bawah Linux Kaedah kompilasi ialah: 1. Pasang mingw32 melalui arahan "sudo apt-get install mingw-w64" 2. Jalankan "sudo apt-get install wine" pada Linux - wain pembangunan ~/hello.exe >hello world”.

Bolehkah versi kompilasi mingw dijalankan di bawah linux?

Persekitaran pengendalian tutorial ini: sistem ubuntu18.04, mingw32, komputer Dell G3.

Bolehkah versi yang disusun dengan mingw dijalankan di bawah linux?

Ya.

Program Windows kompil silang platform Linux

Persekitaran kompilasi dan ujian: ubuntu18.04

Langkah 1: Pasang mingw32

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

Perkara di atas mungkin sebab Terdapat bahagian pendua, jadi untuk menjimatkan usaha, saya memasang semuanya secara langsung.

Selepas pemasangan, anda boleh menyusun kod

i686-w64-mingw32-gcc -o hello.exe hello.c

Bahagian 2: Uji program yang disusun

Fail exe yang disusun boleh Salin ke Windows untuk ujian, tetapi untuk menjimatkan usaha, saya mahu menjalankannya terus pada Linux. Ini memerlukan wain yang lengkap.

sudo apt-get install wine-development
 
wine ~/hello.exe
 
>hello world

Bahagian 3: Menyusun atur cara 64-bit

Kerana saya perlu menyusun atur cara x64-bit, tetapi ujian mendapati program itu adalah 32- program bit.

x86_64-w64-mingw32-gcc -o hello64.exe hello.c

Bahagian 4: Menggunakan perpustakaan pthread pada windows

pthread sangat mudah digunakan Windows tidak mempunyai perpustakaan pthread secara lalai .

i686-w64-mingw32-gcc -o pthread_create.exe pthread_create.c -lpthread -D__WIN32

Saya sebenarnya mendapati bahawa ia telah disusun secara langsung, menunjukkan bahawa mingw32 telah memasukkan perpustakaan pthread.

Saya berlari ke tingkap dan melaksanakannya, dan ia melaporkan "libwinpthread-1.dll.....not found"

Saya terus menyalin /usr/i686-w64-mingw32/ Copy fail libwinpthread-1.dll dalam folder lib ke Windows. Didapati ia berfungsi.

Cukup mudah dan cukup kasar, bukan? Tetapi ia benar-benar hebat

Malah, saya juga memuat turun perpustakaan pthread di bawah Windows, tetapi malangnya ia masih melaporkan bahawa perpustakaan itu tidak dapat ditemui Mungkin gcc tidak dimuatkan secara tersirat.

Mengenai masalah libgcc_s_dw2-1.dll yang hilang dalam pengkompil MinGW

Ternyata pautan dinamik digunakan secara lalai semasa memaut, dan tiada pergantungan pada modul DLL komputer pihak lain.

Jadi saya menambah arahan selepas pautan:

-static-libstdc++ -static-libgcc

Cadangan berkaitan: "Tutorial Video Linux"

Atas ialah kandungan terperinci Bolehkah versi kompilasi mingw dijalankan di bawah linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn