Это мое понимание отношений между MinGW и MSYS.
При установке MinGW и его gcc
toolchain установка MSYS не является обязательной.
Установив MSYS, вы получите bash
и несколько других инструментов, которые, как я полагаю , предназначены для использования с только что установленным MinGW gcc
. Однако, когда вы запускаете пакетный скрипт MSYS, который открывает оболочку bash
, gcc
отсутствует в вашей PATH
. На этом этапе вы делаете одну из двух вещей:
- Вы снова запускаете установщик MinGW и замечаете, что вы не выбрали
gcc
в категории MSYS. Вы думаете про себя: «Разве я не установил gcc?"Вы ждете загрузки этого пакета и возвращаетесь в оболочку MSYbash
. Вы запускаетеgcc --version
и видите, что это древняя версияgcc
десять лет назад. Затем вы переходите к следующему пункту, если даже понимаете, что это вариант.
ИЛИ ЖЕ
- Вы
echo $PATH
, чтобы обнаружить, чтоC:\MinGW\bin
находится на вашем пути, ноC:\MinGW\bin
не смонтирован. Вы добавляете правильную командуmount
в ваш~/.profile
, и рады, что последняя версияgcc
предоставленная MinGW, теперь находится в вашемPATH
.
Почему у MinGW и MSYS есть отдельные версии gcc
? Почему пользователь не имеет доступа к последней версии gcc
предоставленной MinGW непосредственно в MSYS? Я не очень часто использую Windows, и я пытался использовать MinGW и MSYS, чтобы научить моего брата С. Я не хотел использовать версию gcc
десять лет назад. Такое поведение было непонятным.