як встановити gcc на машині Windows 7?


119

У мене MinGW на своїй машині Windows 7. Я хочу встановити та використовувати повний gcc для компілятора C. Я виявив, що немає жодного попередньо складеного готового інсталяційного файлу для цієї мети. Я перевірив таку сторінку: http://gcc.gnu.org/install/ Це важко, і я знаходжу це вище свого рівня розуміння. Чи може хто-небудь, будь ласка, надати мені покрокові інструкції разом із посиланнями?

Відповіді:


97

EDIT З недавнього часу MinGW-w64 "поглинув" один із проектів створення інструментальної мережі. Завантаження можна знайти тут . Інсталятор повинен працювати і дозволяти вам вибрати потрібну версію.

Зверніть увагу, що Qt SDK постачається з тією ж ланцюжком інструментів. Тож якщо ви розвиваєтеся в Qt і використовуєте SDK, просто використовуйте ланцюжок інструментів, до якої вона входить.

Інша альтернатива, яка має сучасні ланцюги інструментів, походить від ... harhar ... розробника Microsoft, не що інше, як STL (Stephan T. Lavavej, хіба що не точкове ім'я для технічного обслуговування MSVC ++ Standard Library!). Ви можете знайти його тут . Він включає Boost.

Інший варіант, який дуже корисний, якщо ви піклуєтесь про попередньо вбудовані залежності, - це MSYS2 , який забезпечує оболонку Unix (вилка Cygwin, модифікована для кращої роботи з іменами шляхів Windows тощо), а також забезпечує GCC. Зазвичай він трохи відстає, але це компенсується його хорошою системою управління пакетами та стабільністю. Вони також забезпечують функціональний Clang з libc ++, якщо ви дбаєте про таке.

Нижче я залишаю для довідки, але настійно рекомендую не використовувати MinGW.org через обмеження, деталізовані нижче. TDM-GCC (версія MinGW-w64) надає деякі хаки, які можуть бути корисними у вашій конкретній ситуації, хоча для максимальної сумісності я рекомендую весь час використовувати ванільний GCC.


Зараз GCC для Windows передбачено двома проектами. Вони обидва забезпечують власну реалізацію Windows SDK (заголовки та бібліотеки), що необхідно, оскільки GCC не працює з файлами Visual Studio.

  1. Старіший mingw.org, на який @Mat вже вказував на вас. Вони забезпечують лише 32-розрядний компілятор. Ознайомтесь із необхідними завантаженнями:

    • Binutils є компілятором і компілятором ресурсів тощо.
    • GCC є компілятором і розділений на основні та мовні пакети
    • GDB - це налагоджувач.
    • Бібліотека часу виконання потрібна лише для mingw.org
    • Можливо, вам доведеться завантажити mingw32-make окремо.
    • Для підтримки ви можете спробувати (не чекайте дружніх відповідей) mingw-users@lists.sourceforge.net

    Крім того, завантажте mingw-get і використовуйте це.

  2. Новіша версія mingw-w64, яка, як передбачає назва, також забезпечує 64-бітний варіант, і в майбутньому, сподіваємось, деяку підтримку ARM. Я використовую його і будую ланцюги інструментів з їх CRT. Персональні та автоматичні збірки можна знайти у розділі "Панелі інструментів, націлені на Win32 / 64" тут . Вони також надають Linux для крос-компіляторів Windows. Я пропоную спершу спробувати особисту збірку, вони будуть більш повною. Спробуйте шахту (rubenvb) для GCC 4.6 до 4.8, або використовуйте sezero's для GCC 4.4 і 4.5. Ми обидва надаємо 32-розрядні та 64-бітні набори інструментів. Ці пакети включають все, що перераховано вище Наразі рекомендую складати "MinGW-Builds", оскільки вони наразі санкціонуються як "офіційні збірки" та постачаються з інсталятором (див. Вище).

    Для підтримки надішліть електронний лист на mingw-w64-public@lists.sourceforge.net або опублікуйте на форумі через sourceforge.net.

Обидва проекти мають свої файли, перелічені у sourceforge, і все, що вам потрібно зробити, це або запустити інсталятор (у випадку mingw.org) або завантажити відповідний пакунок з поштою та витягнути його (у випадку mingw-w64).

Існує дуже багато "неофіційних" будівельників інструментальних ланцюгів, одна з найпопулярніших - TDM-GCC. Вони можуть використовувати виправлення, які порушують бінарну сумісність з офіційними / непатчерними ланцюжками інструментів, тому будьте обережні, використовуючи їх. Найкраще використовувати офіційні релізи.


6
Ваша відповідь виглядає, безумовно, повною, але я не все розумію. Багато термінів у вашій відповіді для мене нові. Моя мета - отримати компілятор gcc c, лінкер, заголовки та бібліотечні файли. Я завантажив вашу персональну збірку для GCC 4.6. тепер що робити далі? будь ласка,
потерпіть

9
@Saurabh: немає проблем, я намагався бути коректним у плані слів. Тепер ви C:` so that витягуєте пакунок, наприклад, C: \ mingw64 \ bin` (або C: \ mingw32 \ bin ) contains gcc.exe . Then, open a cmd.exe command prompt, and execute встановлюється PATH = C: \ mingw64 \ bin;% PATH% `. Тоді ви зможете зателефонувати mingw32 -make, gcc, gdb і т. д. з цього командного рядка. Програми, які використовують його (наприклад, cmake, Qt Creator, Codeblocks), також потребують його в PATH. -> Додатково-> Змінні середовища та додайте або модифікуйте PATH туди
rubenvb

1
зробив це. це працює добре. велике спасибі .. чому так багато клопоту встановити компілятор gcc на машині Windows? це спочатку не було призначено для платформи x86?
KawaiKx

4
Є щонайбільше 4-5 розробників, які стосуються GCC / binutils для Windows. Вони роблять чудову роботу, але залишають це громаді, щоб доставити свої інструменти. Не розумійте тут неправильно: TDM існує довгий час і забезпечує зручний інсталятор, але він не надсилає патчі вище за течією через проблеми з авторським правом. Codeblocks постачає ланцюжок інструментів MinGW з IDE, як і Qt. Але жоден з них не доставляє 64-бітну :). Сама побудова GCC вимагає середовища Unix, як Cygwin / MSYS, а ще краще: Linux. Процес збирання не є простим. Але це не так багато клопоту, щоб встановити, коли ви знаєте, що робити.
rubenvb

1
@rubenvb, я помітив, що в Mingw64 зараз встановлена ​​програма, яка дозволяє вибирати речі. Це гірша ідея, ніж отримання особистої побудови?
батбрат

26

Завантажте mingw-get і просто видайте:

mingw-get install gcc.

Див . Сторінку Початок роботи .


2
ця установка не встановлює стандартну бібліотеку C gcc .. замість цього використовується msvcr ***. a. чому так? це тому, що стандартна бібліотека C gcc містить об'єктні коди, призначені для мікросхем без x86?
KawaiKx

3
тому що порт MinGW GCC на Windows використовує стандартну бібліотеку C для Windows. Якщо ви хочете використовувати іншу бібліотеку С, подивіться на cygwin (використовує newlib). Не впевнений, що вам пощастить отримати GLIBC в Windows (я теж не бачу сенсу).
Мат

1
що саме ви маєте на увазі під "порту MinGW GCC на windows"? Вибачте, це може здатися дурним, але я новачок у цих термінах ..
KawaiKx

2
Це означає, що версія GCC, вироблена MinGW, повинна працювати на цільових середовищах Windows.
Мат

11
  1. Витягує пакет C: \ з тут і встановіть його

  2. Скопіюйте шлях, C:\MinGW\binякий містить gcc.exe.

  3. перейти до Control Panel->System->Advanced>Environment variablesта додати або змінити PATH. (просто з'єднайтеся з ';')

  4. Потім open a cmd.exe command prompt(Windows + R і введіть cmd, якщо його вже відкрито, закрийте та відкрийте новий, щоб змінити шлях)

  5. змінити папку до шляху до файлу на cd D:\c code Path

  6. тип gcc main.c -o helloworld.o. Він складе код. дляC++ use g++

7 тип ./helloworldдля запуску програми.

Якщо zlib1.dll відсутній, завантажте звідси


6

Слідкуйте за відповіддю Мата (використовуйте Cygwin), ось кілька докладних інструкцій щодо: встановлення gcc на Windows . Пакети, які ви хочете, - gcc, gdb та make. Програма встановлення Cygwin дозволяє встановлювати додаткові пакети, якщо вони вам потрібні.


Я встановив Cygwin та необхідні пакети. Я також перевірив з командного рядка Windows, що gcc, gdb та make є доступними. Але все-таки установка рейки дорогоцінного каміну виходить з тієї ж помилки! Хтось успішно випробував Cygwin та Rails на Windows?
Вішал Біяні

Крім того, коли я запускаю gccкомандний рядок, мені отримують відмову в доступі, не знаю чому
Vishal Biyani

3
Сьогодні я, певно, пішов би з чимось на зразок VirtualBox Oracle ( virtualbox.org ) або VMWare замість Cygwin. Тоді ви можете запустити обидва ОС на одній машині. Що стосується Rails, ви спробували інсталятор Rails? railsinstaller.org
michaelok

Дякую за пораду @michaelok, спробую це точно
Vishal Biyani

Я не зміг його знайти, тому я оновив його на головній сторінці Cygwin. Те, що складно в інсталяторі, - це те, що ви вибираєте правильні пакети. З інструкцій, в яких сказано про gcc: "За замовчуванням setup.exe встановлюватиме лише пакети в категорії Base та їх залежності, що призводить до мінімальної інсталяції Cygwin. Однак це не буде включати багато часто використовуваних інструментів, таких як як gcc (який ви знайдете в категорії Devel) "
michaelok

1

Я використовую msysgit для встановлення gcc на Windows, він має гарний інсталятор, який встановлює більшість всього, що вам може знадобитися. Більшість розробників знадобиться більше, ніж просто компілятор, наприклад оболонка, інструменти оболонки, make, git, svn тощо. Msysgit поставляється з усім цим. https://msysgit.github.io/

редагувати: Зараз я використовую msys2. Msys2 використовує pacmanвід Arch Linux для встановлення пакетів і включає три середовища для побудови програм msys2, 32-бітних нативних програм та 64-розрядних нативних програм. (Ви, мабуть, хочете створити 32-розрядні рідні програми.)

https://msys2.github.io/

Ви також можете перейти в повний моніт та встановити код :: блоки чи інший редактор gui, який постачається з компілятором. Я вважаю за краще використовувати vim та make.


Msysgit все ще працює для вас? Ця URL-адреса переспрямовує на Git для Windows, де я не бачу згадки про gcc. Мені пощастило з Git для Windows, але це може бути інша історія. Також є повідомлення "msysGit замінено Git для Windows 2.x"
Боб Штейн

Зараз я використовую msys2, а не msysgit. msys2.github.io Я оновив свою відповідь.
Сем Уоткінс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.