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”.
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!