làm thế nào để cài đặt gcc trên máy tính windows 7?


119

Tôi có MinGW trên máy windows 7 của mình. Tôi muốn cài đặt và sử dụng trình biên dịch gcc for C. Tôi thấy không có tập tin cài đặt sẵn nào được biên dịch trước cho mục đích này. Tôi đã kiểm tra trang sau: http://gcc.gnu.org/install/ Nó khó và tôi thấy nó trên mức hiểu biết của tôi. Bất kỳ ai có thể vui lòng cung cấp cho tôi hướng dẫn từng bước cùng với các liên kết không?

Câu trả lời:


97

CHỈNH SỬA Vì không phải gần đây, MinGW-w64 đã "hấp thụ" một trong những dự án xây dựng chuỗi công cụ. Tải xuống có thể được tìm thấy ở đây . Trình cài đặt sẽ hoạt động và cho phép bạn chọn phiên bản bạn cần.

Lưu ý rằng Qt SDK đi kèm với cùng một chuỗi công cụ. Vì vậy, nếu bạn đang phát triển trong Qt và sử dụng SDK, chỉ cần sử dụng chuỗi công cụ đi kèm.

Một giải pháp thay thế khác có các hàng công cụ cập nhật đến từ ... harhar ... một nhà phát triển của Microsoft, không ai khác ngoài STL (Stephan T. Lavavej, đó không phải là một cái tên phù hợp cho người duy trì Thư viện chuẩn MSVC ++!). Bạn có thể tìm thấy nó ở đây . Nó bao gồm Boost.

Một tùy chọn khác rất hữu ích nếu bạn quan tâm đến các phụ thuộc được tạo sẵn là MSYS2 , cung cấp trình bao Unix (một nhánh Cygwin được sửa đổi để hoạt động tốt hơn với tên đường dẫn Windows và những thứ tương tự), cũng cung cấp GCC. Nó thường bị trễ hơn một chút, nhưng điều đó được bù đắp bằng hệ thống quản lý gói tốt và sự ổn định của nó. Họ cũng cung cấp một Clang chức năng với libc ++ nếu bạn quan tâm đến điều đó.

Tôi để phần dưới đây để tham khảo, nhưng tôi thực sự khuyên bạn không nên sử dụng MinGW.org, do những hạn chế được nêu chi tiết bên dưới. TDM-GCC (phiên bản MinGW-w64) cung cấp một số thủ thuật mà bạn có thể thấy hữu ích trong tình huống cụ thể của mình, mặc dù tôi khuyên bạn nên sử dụng vanilla GCC mọi lúc để có khả năng tương thích tối đa.


GCC cho Windows hiện được cung cấp bởi hai dự án. Cả hai đều cung cấp một triển khai riêng của Windows SDK (tiêu đề và thư viện) cần thiết vì GCC không hoạt động với tệp Visual Studio.

  1. Mingw.org cũ hơn, mà @Mat đã chỉ bạn đến. Họ chỉ cung cấp một trình biên dịch 32-bit. Xem ở đây để tải xuống bạn cần:

    • Binutils là trình liên kết và trình biên dịch tài nguyên, v.v.
    • GCC là trình biên dịch và được chia thành các gói ngôn ngữ và lõi
    • GDB là trình gỡ lỗi.
    • thư viện thời gian chạy chỉ được yêu cầu cho mingw.org
    • Bạn có thể cần tải xuống mingw32-make riêng biệt.
    • Để được hỗ trợ, bạn có thể thử (không mong đợi câu trả lời thân thiện) mingw-users@lists.sourceforge.net

    Ngoài ra, hãy tải xuống mingw-get và sử dụng nó.

  2. Mingw-w64 mới hơn, như tên dự đoán, cũng cung cấp một biến thể 64-bit và trong tương lai hy vọng sẽ có một số hỗ trợ của ARM. Tôi sử dụng nó và xây dựng các công cụ với CRT của họ. Các bản dựng cá nhân và tự động được tìm thấy trong "Xe công cụ nhắm mục tiêu Win32 / 64" tại đây . Họ cũng cung cấp các trình biên dịch chéo từ Linux sang Windows. Tôi khuyên bạn nên thử một bản dựng cá nhân trước, chúng sẽ hoàn thiện hơn. Hãy thử của tôi (rubenvb) cho GCC 4,6 đến 4,8 hoặc sử dụng sezero cho GCC 4,4 và 4,5. Cả hai chúng tôi đều cung cấp các công cụ 32-bit và 64-bit. Các gói này bao gồm mọi thứ được liệt kê ở trên. Hiện tại, tôi khuyên bạn nên sử dụng các bản dựng "MinGW-Builds", vì chúng hiện được coi là "bản dựng chính thức" và đi kèm với một trình cài đặt (xem ở trên).

    Để được hỗ trợ, hãy gửi email đến mingw-w64-public@lists.sourceforge.net hoặc đăng trên diễn đàn qua sourceforge.net.

Cả hai dự án đều có tệp được liệt kê trên sourceforge và tất cả những gì bạn phải làm là chạy trình cài đặt (trong trường hợp mingw.org) hoặc tải xuống một gói nén phù hợp và giải nén nó (trong trường hợp mingw-w64).

Có rất nhiều công cụ xây dựng chuỗi công cụ "không chính thức", một trong những công cụ phổ biến nhất là TDM-GCC. Họ có thể sử dụng các bản vá phá vỡ khả năng tương thích nhị phân với các công cụ chính thức / chưa được vá, vì vậy hãy cẩn thận khi sử dụng chúng. Tốt nhất là sử dụng các bản phát hành chính thức.


6
câu trả lời của bạn có vẻ hoàn chỉnh nhưng tôi không hiểu tất cả. rất nhiều thuật ngữ trong câu trả lời của bạn là mới đối với tôi .. Ý định của tôi là có được trình biên dịch gcc c, trình liên kết, tệp tiêu đề và tệp thư viện. Tôi đã tải xuống bản dựng cá nhân của bạn cho GCC 4.6. bây giờ tôi phải làm gì tiếp theo? xin vui lòng tha thứ với tôi :-)
KawaiKx

9
@Saurabh: không vấn đề gì, tôi đã cố gắng chính xác về mặt từ ngữ. Bây giờ bạn giải nén gói, ví dụ C:` so that C: \ mingw64 \ bin` (hoặc C: \ mingw32 \ bin ) contains gcc.exe . Then, open a cmd.exe command prompt, and execute đặt PATH = C: \ mingw64 \ bin;% PATH% `. Sau đó, bạn sẽ có thể gọi mingw32 -make, gcc, gdb, v.v. từ dòng lệnh đó. Các chương trình sử dụng nó (như cmake, Qt Creator, Codeblocks) cũng cần nó trong PATH. Trong trường hợp bạn cần thay đổi PATH toàn hệ thống / người dùng, hãy chuyển đến Control Panel-> System -> Advanced-> biến môi trường, và thêm hoặc sửa đổi PATH ở đó.
rubenvb

1
đã làm điều đó. nó hoạt động tốt. cảm ơn rất nhiều .. tại sao có quá nhiều rắc rối trong việc cài đặt trình biên dịch gcc trên máy tính windows? ban đầu nó không dành cho nền tảng x86?
KawaiKx

4
Có nhiều nhất 4-5 nhà phát triển quan tâm đến GCC / binutils cho Windows. Họ làm một công việc tuyệt vời, nhưng hãy để cộng đồng cung cấp công cụ của họ. Không hiểu sai ở đây: TDM đã xuất hiện từ lâu và cung cấp một trình cài đặt tiện dụng, nhưng anh ấy không gửi các bản vá ngược dòng do vấn đề bản quyền. Codeblocks cung cấp chuỗi công cụ MinGW với IDE, Qt cũng vậy. Nhưng không ai trong số họ cung cấp 64-bit :). Bản thân việc xây dựng GCC yêu cầu một môi trường Unix, như Cygwin / MSYS, hoặc thậm chí tốt hơn: Linux. Quá trình xây dựng không đơn giản. Nhưng không có gì phức tạp khi cài đặt một khi bạn biết phải làm gì.
rubenvb

1
@rubenvb, tôi nhận thấy rằng Mingw64 hiện có trình cài đặt cho phép bạn chọn nội dung. Đây có phải là một ý tưởng tồi tệ hơn việc xây dựng một bản dựng cá nhân?
batbrat

26

Tải xuống mingw-get và chỉ cần phát hành:

mingw-get install gcc.

Xem trang Bắt đầu .


2
cài đặt này không cài đặt thư viện C chuẩn gcc .. thay vào đó nó sử dụng msvcr ***. a. tại sao vậy? có phải vì thư viện C tiêu chuẩn gcc chứa mã đối tượng dành cho chip không phải x86 không?
KawaiKx

3
vì cổng MinGW của GCC trên windows sử dụng thư viện C chuẩn của windows. Nếu bạn muốn sử dụng một thư viện C khác, hãy xem cygwin (sử dụng newlib). Không chắc bạn sẽ gặp nhiều may mắn khi nhận được GLIBC trên Windows (tôi cũng không thực sự hiểu rõ vấn đề).
Mat

1
chính xác thì nghĩa là gì của "cổng MinGW của GCC trên windows"? xin lỗi, nó nghe có vẻ ngu ngốc nhưng tôi mới đến các điều khoản ..
KawaiKx

2
Điều đó có nghĩa là phiên bản GCC do MinGW sản xuất để chạy trên và nhắm mục tiêu môi trường windows.
Mat

11
  1. Giải nén gói sang C: \ từ đây và cài đặt nó

  2. Sao chép đường dẫn C:\MinGW\binchứa gcc.exe.

  3. đi tới Control Panel->System->Advanced>Environment variablesvà thêm hoặc sửa đổi PATH. (chỉ nối với ';')

  4. Sau đó, open a cmd.exe command prompt(Windows + R và nhập cmd, nếu đã mở, hãy đóng và mở một cái mới để thay đổi đường dẫn)

  5. thay đổi thư mục thành đường dẫn tệp của bạn bằng cách cd D:\c code Path

  6. loại gcc main.c -o helloworld.o. Nó sẽ biên dịch mã. choC++ use g++

7 loại ./helloworldđể chạy chương trình.

Nếu thiếu zlib1.dll, hãy tải xuống từ đây


6

Tiếp theo câu trả lời của Mat (sử dụng Cygwin), đây là một số hướng dẫn chi tiết về: cài đặt gcc trên Windows Các gói bạn muốn là gcc, gdb và make. Trình cài đặt Cygwin cho phép bạn cài đặt các gói bổ sung nếu bạn cần.


Tôi đã cài đặt Cygwin và các gói yêu cầu. Tôi cũng đã xác minh từ dòng lệnh Windows rằng gcc, gdb và make đều có thể truy cập được. Nhưng vẫn không thể cài đặt gem rails với cùng một lỗi! Có ai đã thử Cygwin và Rails trên Windows thành công chưa?
Vishal Biyani

Ngoài ra, khi tôi chạy gcctrên command prompt, tôi nhận được quyền truy cập bị từ chối, không chắc chắn lý do tại sao
Vishal Biyani

3
Ngày nay, tôi có thể sử dụng một cái gì đó như VirtualBox của Oracle ( virtualbox.org ) hoặc VMWare thay vì Cygwin. Sau đó, bạn có thể chạy cả hai hệ điều hành trên cùng một máy. Đối với Rails, bạn đã thử Rails Installer chưa? railsinstaller.org
michaelok

Cảm ơn @michaelok tip, sẽ cố gắng mà chắc chắn
Vishal Biyani

Tôi cũng không tìm thấy nó, vì vậy tôi đã cập nhật nó lên trang Cygwin chính. Điều khó khăn về trình cài đặt là đảm bảo bạn đang chọn các gói phù hợp. Từ hướng dẫn, có điều này để nói về gcc: "Theo mặc định, setup.exe sẽ chỉ cài đặt các gói trong danh mục Cơ sở và các gói phụ thuộc của chúng, dẫn đến cài đặt Cygwin tối thiểu. Tuy nhiên, điều này sẽ không bao gồm nhiều công cụ thường được sử dụng như dưới dạng gcc (mà bạn sẽ tìm thấy trong danh mục
Devel

1

Tôi sử dụng msysgit để cài đặt gcc trên Windows, nó có một trình cài đặt tuyệt vời cài đặt hầu hết mọi thứ mà bạn có thể cần. Hầu hết các nhà phát triển sẽ cần nhiều hơn chỉ là trình biên dịch, ví dụ như shell, shell tools, make, git, svn, v.v. msysgit đi kèm với tất cả những thứ đó. https://msysgit.github.io/

chỉnh sửa: Tôi hiện đang sử dụng msys2. Msys2 sử dụng pacmantừ Arch Linux để cài đặt các gói và bao gồm ba môi trường, để xây dựng ứng dụng msys2, ứng dụng gốc 32 bit và ứng dụng gốc 64 bit. (Bạn có thể muốn xây dựng các ứng dụng gốc 32 bit.)

https://msys2.github.io/

Bạn cũng có thể sử dụng full-monty và cài đặt mã :: blocks hoặc một số trình soạn thảo gui khác đi kèm với trình biên dịch. Tôi thích sử dụng vim và thực hiện.


Msysgit vẫn hoạt động cho bạn? URL đó chuyển hướng đến Git dành cho Windows mà tôi không thấy đề cập đến gcc. Tôi đã gặp xui xẻo với Git cho Windows, nhưng đó có thể là một câu chuyện khác. Ngoài ra còn có thông báo "msysGit đã được thay thế bởi Git cho Windows 2.x"
Bob Stein

Tôi hiện đang sử dụng msys2 thay vì msysgit. msys2.github.io Tôi đã cập nhật câu trả lời của mình.
Sam Watkins
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.