Компиляторы MingGW и mingw-w64 являются инструментами командной строки Windows. Это Windows порты (некоторых из) компиляторов G CC. tdm-g cc - еще один выбор.
Командные инструменты для любой операционной системы не нуждаются в собственной оболочке. Вы можете запускать их в любой оболочке, установленной в этой операционной системе. На Windows сегодня у вас есть выбор, по крайней мере, из PowerShell и старой оболочки CMD.
Проект MinGW наряду с его набором инструментов G CC предоставляет минимальную unix -подобную среду для Windows под названием MSYS, который включает оболочку. MSYS не требуется для запуска компилятора.
Пока инструменты G CC могут находиться в значении переменной среды PATH
, которая действует в shell во время компиляции, затем вы запускаете компилятор в приглашении оболочки:
>gcc [options...]
>g++ [options...]
так же, как он запускается в любой операционной системе. Если вы хотите работать с набором инструментов G CC, тогда вопрос:
Как я могу делать все то, что я делал в Visual Studio 2019, из Power Shell?
- это просто вопрос: Как вы запускаете G CC? Это вопрос широкой общности. Вам необходимо изучить соответствующие книги и документацию
Очень схематично, если вы хотите скомпилировать и связать программу на C ++, которая имеет исходные файлы main.cpp
и other.cpp
и зависит от библиотек foo
и bar
, чьи API C ++ определены в файлах заголовков и реализованы в библиотеках DLL, вы сделаете это с помощью команд следующей формы:
Чтобы скомпилировать исходные файлы в объект files:
>g++ -c -o main.obj main.cpp -I/path/to/foo/header/files -I/path/to/bar/header/files [any other compilation options....]
>g++ -c -o other.obj other.cpp -I/path/to/foo/header/files -I/path/to/bar/header/files [any other compilation options....]
Чтобы связать объектные файлы и библиотеки, чтобы создать возбуждаемую программу:
>g++ -o prog main.obj other.obj -L/path/to/foo_dll -L/maybe/a/different/path/to/bar_dll -lfoo -lbar [any other linkage options...]
И если все это успешно, то программа будет prog.exe
, и вы сможете запустите его:
>prog
точно так же, как вы запускали g++
, при условии, что foo.dll
и bar.dll
могут быть найдены во время выполнения с помощью протокола поиска DLL загрузчика ОС
Как я думаю, вы понимаете, что в реальной жизни никто не создает программы, набирая все команды в оболочке, за исключением учебных целей. Они используют систему сборки или IDE для ее автоматизации. Но это правда, что сборка программ с помощью системы сборки или среды IDE представляет меньше трудностей, если вы делаете это с базовым c gr asp тем, как работают инструменты, лежащие в основе этого.