Bolehkah versi kompilasi mingw dijalankan di bawah linux?

藏色散人
Lepaskan: 2023-03-24 11:00:01
asal
2150 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan