У меня на компьютере с Windows 7 установлена Git для Windows 2.10.2 и последняя версия MSYS2. Я использовал более старую версию MinGW для компиляции кода на C ++. Я бы использовал notepad ++ для записи / редактирования файлов, компиляции и запуска их через Git Bash с помощью консольных команд gcc. Мне нравится, когда я могу перейти в папку с моим файлом, щелкнуть правой кнопкой мыши и выбрать опцию «Git Bash Here», чтобы открыть консоль и сделать все, что мне нужно.
После удаления MinGW я установил MSYS2 и загрузил некоторые из их пакетов, используя менеджер пакетов Pacman, который поставляется с MSYS2. Я также обновил свою переменную PATH. Я пошел, чтобы проверить все с помощью Git Bash, набрав команду:
gcc --version
и я получаю эту ошибку
OWNER@Seth MINGW64 /c
$ gcc --version
2 [main] gcc (5284) C:\msys64\usr\bin\gcc.exe: *** fatal error - cygheap base mismatch detected - 0x1802FF408/0x1802FE408.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version. The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution. Rebooting is also suggested if you
are unable to find another cygwin DLL.
Segmentation fault
OWNER@Seth MINGW64 /c
$
Я никогда не использовал Cygwin и поэтому никогда не устанавливал его на этот компьютер. Последние три дня я потратил на поиски решений в Интернете. Я удалил и переустановил Git и MSYS2. Я поместил git-bash.exe в мой каталог c: \ msys64 \, выполнил ту же команду и получил:
OWNER@Seth MINGW64 ~
$ gcc --version
gcc.exe (Rev2, Built by MSYS2 project) 6.2.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.OWNER@Seth MINGW64 ~
$
но это не кажется мне очень элегантным решением. Это работает, хотя, я могу перейти в папку, содержащую мой код и скомпилировать и запустить их.
Еще я попробовал зайти в реестр и изменить, где опция «Git Bash Here» ищет git-bash.exe. Я изменил это с:
"C:\program files\Git\git-bash.exe" "--cd=%v."
в
"C:\msys64\git-bash.exe" "--cd=%v."
и теперь щелкните правой кнопкой мыши и выберите «Git Bash Here» и запустите команду:
gcc --version
результаты в:
OWNER@Seth MINGW64 ~
$ gcc --version
gcc.exe (Rev2, Built by MSYS2 project) 6.2.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.OWNER@Seth MINGW64 ~
$
и снова я могу перейти в папку с моим кодом и скомпилировать и запустить их.
Проблема сейчас в том, что раньше, когда Git Bash открывался, он смотрел в каталог, где я щелкнул правой кнопкой мыши. Но теперь я должен идти туда, куда мне нужно.
Есть ли лучший способ заставить MSYS2 и Git работать вместе? Я делаю этот путь более сложным, чем это должно быть? Или есть лучший способ и я просто спотыкаюсь в темноте?
Задача ещё не решена.
Других решений пока нет …