bagaimana cara menginstal gcc di mesin windows 7?

119

Saya memiliki MinGW di mesin windows 7 saya. Saya ingin menginstal dan menggunakan gcc lengkap untuk kompiler C. Saya menemukan tidak ada file instalasi siap pakai yang telah dikompilasi sebelumnya untuk tujuan ini. Saya memeriksa halaman berikut: http://gcc.gnu.org/install/ Sulit dan menurut saya di atas tingkat pemahaman saya. Bisakah ada yang memberi saya panduan langkah demi langkah bersama dengan tautan?

KawaiKx
sumber

Jawaban:

97

EDIT Karena belum lama ini, MinGW-w64 telah "menyerap" salah satu proyek pembangunan toolchain. Unduhan dapat ditemukan di sini . Penginstal seharusnya berfungsi, dan memungkinkan Anda memilih versi yang Anda perlukan.

Perhatikan bahwa Qt SDK dilengkapi dengan toolchain yang sama. Jadi jika Anda mengembangkan di Qt dan menggunakan SDK, cukup gunakan toolchain yang disertakan.

Alternatif lain yang memiliki rantai alat terkini berasal dari ... harhar ... pengembang Microsoft, tidak lain adalah STL (Stephan T. Lavavej, bukankah itu nama tepat untuk pengelola Perpustakaan Standar MSVC ++!). Anda bisa menemukannya di sini . Ini termasuk Boost.

Opsi lain yang sangat berguna jika Anda merawat dependensi bawaan adalah MSYS2 , yang menyediakan shell Unix (garpu Cygwin yang dimodifikasi untuk bekerja lebih baik dengan nama jalur Windows dan semacamnya), juga menyediakan GCC. Biasanya agak tertinggal, tetapi itu dikompensasi oleh sistem manajemen paket dan stabilitasnya yang baik. Mereka juga menyediakan Clang fungsional dengan libc ++ jika Anda peduli dengan hal semacam itu.

Saya meninggalkan yang di bawah untuk referensi, tetapi saya sangat menyarankan agar tidak menggunakan MinGW.org, karena batasan yang dijelaskan di bawah ini. TDM-GCC (versi MinGW-w64) menyediakan beberapa peretasan yang mungkin berguna bagi Anda dalam situasi khusus Anda, meskipun saya merekomendasikan penggunaan vanilla GCC setiap saat untuk kompatibilitas maksimum.


GCC untuk Windows saat ini disediakan oleh dua proyek. Keduanya menyediakan implementasi Windows SDK (header dan library) sendiri yang diperlukan karena GCC tidak bekerja dengan file Visual Studio.

  1. Mingw.org yang lebih lama, yang sudah diarahkan oleh @Mat. Mereka hanya menyediakan kompiler 32-bit. Lihat di sini untuk unduhan yang Anda butuhkan:

    • Binutils adalah penghubung dan penyusun sumber daya, dll.
    • GCC adalah kompilernya, dan dibagi dalam paket inti dan bahasa
    • GDB adalah debugger.
    • perpustakaan runtime diperlukan hanya untuk mingw.org
    • Anda mungkin perlu mengunduh mingw32-make secara terpisah.
    • Untuk dukungan, Anda dapat mencoba (jangan mengharapkan balasan ramah) [email protected]

    Atau, unduh mingw-get dan gunakan itu.

  2. Mingw-w64 yang lebih baru, seperti yang diprediksi namanya, juga menyediakan varian 64-bit, dan semoga kedepannya beberapa dukungan ARM. Saya menggunakannya dan membangun toolchain dengan CRT mereka. Build pribadi dan otomatis dapat ditemukan di "Toolchain yang menargetkan Win32 / 64" di sini . Mereka juga menyediakan cross-compiler Linux ke Windows. Saya sarankan Anda mencoba build pribadi dulu, lebih lengkap. Coba milik saya (rubenvb) untuk GCC 4.6 hingga 4.8, atau gunakan sezero untuk GCC 4.4 dan 4.5. Kami berdua menyediakan toolchain 32-bit dan 64-bit asli. Paket-paket ini mencakup semua yang tercantum di atas. Saat ini saya merekomendasikan build "MinGW-Builds", karena ini saat ini diberi sanksi sebagai "build resmi", dan dilengkapi dengan penginstal (lihat di atas).

    Untuk dukungan, kirim email ke [email protected] atau posting di forum melalui sourceforge.net.

Kedua proyek memiliki file yang terdaftar di sourceforge, dan yang harus Anda lakukan adalah menjalankan penginstal (dalam kasus mingw.org) atau mengunduh paket zip yang sesuai dan mengekstraknya (dalam kasus mingw-w64).

Ada banyak pembuat toolchain "non-resmi", salah satu yang paling populer adalah TDM-GCC. Mereka mungkin menggunakan patch yang merusak kompatibilitas biner dengan toolchain resmi / belum ditambal, jadi berhati-hatilah saat menggunakannya. Yang terbaik adalah menggunakan rilis resmi.

rubenvb.dll
sumber
6
jawaban Anda sepertinya lengkap tetapi saya tidak mengerti semuanya. banyak istilah dalam jawaban Anda yang baru bagi saya .. Tujuan saya adalah untuk mendapatkan compiler gcc c, linker, file header dan file perpustakaan. Saya telah mendownload build pribadi Anda untuk GCC 4.6. sekarang apa yang harus saya lakukan selanjutnya? mohon toleransi dengan saya :-)
KawaiKx
9
@Saurabh: tidak masalah, saya mencoba untuk benar dalam hal kata-kata. Anda sekarang mengekstrak paket, misalnya ke C:` so that C: \ mingw64 \ bin` (atau C: \ mingw32 \ bin ) contains gcc.exe . Then, open a cmd.exe command prompt, and execute set PATH = C: \ mingw64 \ bin;% PATH% `. Kemudian Anda akan dapat memanggil mingw32 -make, gcc, gdb, dll dari baris perintah tersebut. Program yang menggunakannya (seperti cmake, Qt Creator, Codeblocks) juga membutuhkannya di PATH. Jika Anda memerlukan perubahan PATH sistem / pengguna, buka Control Panel-> System -> Lanjutan-> Variabel lingkungan, dan tambahkan atau modifikasi PATH di sana.
rubenvb
1
melakukan itu. itu bekerja dengan baik. terima kasih banyak .. mengapa begitu banyak kerumitan dalam menginstal kompiler gcc di mesin windows? bukankah itu awalnya dimaksudkan untuk platform x86?
KawaiKx
4
Ada paling banyak 4-5 pengembang yang peduli dengan GCC / binutils untuk Windows. Mereka melakukan pekerjaan dengan baik, tetapi menyerahkan kepada komunitas untuk mengirimkan alat mereka. Tidak salah paham di sini: TDM telah ada sejak lama dan menyediakan penginstal yang berguna, tetapi dia tidak mengirimkan tambalan ke hulu karena masalah hak cipta. Blok kode memberikan rantai alat MinGW dengan IDE, begitu juga Qt. Tapi tidak satupun dari mereka memberikan 64-bit :). Membangun GCC sendiri membutuhkan lingkungan Unix, seperti Cygwin / MSYS, atau bahkan lebih baik: Linux. Proses pembuatannya tidak langsung. Tetapi tidak banyak kerumitan untuk menginstal setelah Anda tahu apa yang harus dilakukan.
rubenvb
1
@rubenvb, saya perhatikan bahwa Mingw64 sekarang memiliki penginstal yang memungkinkan Anda memilih sesuatu. Apakah ini ide yang lebih buruk daripada membangun pribadi?
batbrat
26

Unduh mingw-get dan cukup terbitkan:

mingw-get install gcc.

Lihat halaman Memulai .

Tikar
sumber
2
instalasi ini tidak menginstal pustaka C standar gcc .. melainkan menggunakan msvcr ***. a. kenapa begitu? apakah karena pustaka C standar gcc berisi kode objek yang dimaksudkan untuk chip non-x86?
KawaiKx
3
karena port MinGW GCC di windows menggunakan library C standar windows. Jika Anda ingin menggunakan pustaka C lain, lihat cygwin (menggunakan newlib). Tidak yakin Anda akan beruntung mendapatkan GLIBC di Windows (saya juga tidak mengerti maksudnya).
Mat
1
apa yang Anda maksud dengan "port MinGW dari GCC di windows" sebenarnya? maaf, ini mungkin terdengar bodoh tapi saya baru
mengenal
2
Itu berarti versi GCC yang diproduksi oleh MinGW untuk dijalankan dan menargetkan lingkungan windows.
Mat
11
  1. Ekstrak paket ke C: \ dari sini dan instal

  2. Salin jalur C:\MinGW\binyang berisi gcc.exe.

  3. pergi ke Control Panel->System->Advanced>Environment variables, dan tambahkan atau modifikasi PATH. (hanya menggabungkan dengan ';')

  4. Kemudian, open a cmd.exe command prompt(Windows + R dan ketik cmd, jika sudah terbuka, silakan tutup dan buka yang baru, untuk mendapatkan perubahan jalur)

  5. ubah folder ke jalur file Anda dengan cd D:\c code Path

  6. tipe gcc main.c -o helloworld.o. Ini akan mengkompilasi kode. untukC++ use g++

7 ketik ./helloworlduntuk menjalankan program.

Jika zlib1.dll hilang, unduh dari sini

Vinoj John Hosan
sumber
6

Menindaklanjuti jawaban Mat (gunakan Cygwin), berikut adalah beberapa instruksi rinci untuk: menginstal gcc di Windows Paket yang Anda inginkan adalah gcc, gdb dan make. Penginstal Cygwin memungkinkan Anda menginstal paket tambahan jika Anda membutuhkannya.

michaelok
sumber
Saya menginstal Cygwin dan paket yang diperlukan. Saya juga memverifikasi dari baris perintah Windows bahwa gcc, gdb, dan make dapat diakses. Tapi tetap saja pemasangan permata rel gagal dengan kesalahan yang sama! Adakah yang berhasil mencoba Cygwin dan Rails di Windows?
Vishal Biyani
Juga, ketika saya menjalankan gcccommand prompt, saya mendapatkan akses ditolak, tidak yakin mengapa
Vishal Biyani
3
Saat ini, saya mungkin akan menggunakan sesuatu seperti Oracle's VirtualBox ( virtualbox.org ) atau VMWare daripada Cygwin. Kemudian Anda dapat menjalankan kedua OS di mesin yang sama. Sedangkan untuk Rails, sudahkah Anda mencoba Rails Installer? railsinstaller.org
michaelok
Terima kasih atas tip @michaelok, akan mencobanya dengan pasti
Vishal Biyani
Saya juga tidak dapat menemukannya, jadi saya memperbaruinya ke halaman utama Cygwin. Yang rumit tentang penginstal adalah memastikan Anda memilih paket yang tepat. Dari instruksi, yang mengatakan tentang gcc: "Secara default, setup.exe hanya akan menginstal paket dalam kategori Base dan dependensinya, menghasilkan instalasi Cygwin yang minimal. Namun, ini tidak akan menyertakan banyak alat yang umum digunakan seperti sebagai gcc (yang akan Anda temukan di kategori
Devel
1

Saya menggunakan msysgit untuk menginstal gcc di Windows, ia memiliki penginstal bagus yang menginstal hampir semua yang Anda butuhkan. Kebanyakan dev membutuhkan lebih dari sekedar compiler, misalnya shell, shell tools, make, git, svn, dll. Msysgit dilengkapi dengan semua itu. https://msysgit.github.io/

edit: Saya sekarang menggunakan msys2. Msys2 menggunakan pacmandari Arch Linux untuk menginstal paket, dan mencakup tiga lingkungan, untuk membangun aplikasi msys2, aplikasi asli 32-bit, dan aplikasi asli 64-bit. (Anda mungkin ingin membuat aplikasi asli 32-bit.)

https://msys2.github.io/

Anda juga bisa menggunakan full-monty dan menginstal code :: block atau beberapa editor gui lain yang disertakan dengan kompiler. Saya lebih suka menggunakan vim dan make.

Sam Watkins
sumber
Apakah msysgit masih berfungsi untuk Anda? URL tersebut dialihkan ke Git untuk Windows di mana saya tidak melihat gcc disebutkan. Saya tidak beruntung dengan Git untuk Windows, tetapi itu mungkin cerita lain. Juga ada pesan "msysGit telah digantikan oleh Git untuk Windows 2.x"
Bob Stein
Saya sekarang menggunakan msys2 daripada msysgit. msys2.github.io Saya memperbarui jawaban saya.
Sam Watkins