Saya telah menulis beberapa efek dalam C ++ (g ++) menggunakan freeglut di Linux, dan saya mengkompilasinya dengan
g++ -Wall -lglut part8.cpp -o part8
Jadi saya bertanya-tanya apakah mungkin untuk memiliki g ++ membuat executable Windows yang dikompilasi statis yang berisi semua yang dibutuhkan?
Saya tidak punya Windows, jadi akan sangat keren, jika saya bisa melakukannya di Linux :)
Jawaban:
mingw32 ada sebagai paket untuk Linux. Anda dapat mengkompilasi silang dan menautkan aplikasi Windows dengannya. Ada tutorial di sini di forum Code :: Blocks . Perhatikan bahwa perintah berubah menjadi
x86_64-w64-mingw32-gcc-win32
, misalnya.Ubuntu, misalnya, memiliki MinGW di repositori:
sumber
Salah satu pilihan kompilasi untuk Windows di Linux adalah melalui mingw. Saya menemukan tutorial yang sangat membantu di sini .
Untuk menginstal mingw32 pada sistem berbasis Debian, jalankan perintah berikut:
sudo apt-get install mingw32
Untuk mengompilasi kode Anda, Anda dapat menggunakan sesuatu seperti:
i586-mingw32msvc-g++ -o myApp.exe myApp.cpp
Terkadang Anda ingin menguji aplikasi Windows baru langsung di Linux. Anda dapat menggunakan anggur untuk itu, meskipun Anda harus selalu ingat bahwa anggur dapat mengandung serangga. Ini berarti Anda mungkin tidak yakin bahwa ada bug di wine, program Anda, atau keduanya, jadi gunakan wine untuk pengujian umum saja.
Untuk memasang wine, jalankan:
sudo apt-get install wine
sumber
mingw32-binutils
danmingw32-runtime
karena itu adalah dependensi darimingw32
void main(){}
dll ...), saya kira itu mengkompilasi di windows tetapi gagal di mingw, saya memperbaikinya. Saya juga mencobai586-mingw32msvc-cpp
dan menghasilkan file teks dengan sesuatu seperti hal-hal yang akan dikompilasi lol .. g ++ yang berfungsi, terima kasih!mingw32
(ditandai sebagai "dependensi". Jika Anda menentukannya, mereka tidak akan melakukannya (ditandai sebagai "manual").Metode yang disarankan memberi saya kesalahan pada Ubuntu 16.04: E: Tidak dapat menemukan paket mingw32
================================================== =========================
Untuk menginstal paket ini di Ubuntu, gunakan yang berikut:
Setelah menginstal, Anda dapat menggunakannya:
Tolong dicatat!
Untuk penggunaan 64-bit: x86_64-w64-mingw32-g ++
Untuk penggunaan 32-bit: i686-w64-mingw32-g ++
sumber
Instal kompiler silang, seperti mingw64 dari manajer paket Anda. Kemudian kompilasi dengan cara berikut: daripada hanya memanggil
gcc
panggilani686-w64-mingw32-gcc
untuk Windows 32-bit ataux86_64-w64-mingw32-gcc"
untuk Windows 64-bit. Saya juga akan menggunakan--static
opsi, karena sistem target mungkin tidak memiliki semua perpustakaan.Jika Anda ingin mengkompilasi bahasa lain, seperti Fortran, ganti
-gcc
dengan-gfortran
di perintah sebelumnya.sumber
Saya telah menggunakan mingw di Linux untuk membuat Windows dapat dieksekusi di C, saya curiga C ++ akan berfungsi juga.
Saya memiliki proyek, ELLCC, yang mengemas dentang dan hal-hal lain sebagai rantai alat kompilator silang. Saya menggunakannya untuk mengkompilasi clang (C ++), binutils, dan GDB untuk Windows. Ikuti tautan unduhan di ellcc.org untuk binari yang telah dikompilasi sebelumnya untuk beberapa host Linux.
sumber
Dari: https://fedoraproject.org/wiki/MinGW/Tutorial
"Kiat dan trik untuk menggunakan kompiler silang Windows": https://fedoraproject.org/wiki/MinGW/Tips
sumber
untuk Fedora itu
sumber
sudo dnf groupinstall ...
juga.