Страницы

Поиск по вопросам

четверг, 10 января 2019 г.

MinGW или Cygwin?

Раньше просто компилировал с помощью g++ на Ubuntu, вытягивая компилятор с помощью пакетного менеджера:
$ sudo apt-get install g++ $ g++ -o main.a main.cpp
Или на Windows с помощью различных IDE, внутри которых, как мне говорили, стоит MinGW.
Сейчас хочется просто, используя внутреннюю консоль в Окнах, компилировать нативно под них самих же. Почитал про Cygwin и про MinGW, понял, тащемта, что к чему, но остались пробелы - не совсем ясно что мне нужно.
Можно ли подробно, а лучше очень просто, узнать о каждой возможности скомпилировать под Окна?


Ответ

Cygwin - это попытка перенести UNIX окружение в Windows, а MinGW (или современный вариант MinGW-w64) сосредоточен только на компиляторе GCC
Далее, при компиляции программы с помощью Cygwin, по условиям его лицензии вы будете линковаться с его динамической библиотекой cygwin1.dll и таскать её всюду за собой, в то время, как с MinGW, вы будете зависеть только от стандартных MSVC библиотек (по-умолчанию от msvcrt.dll).
Поскольку MinGW это только компилятор, то есть отдельный проект - MSYS2 который поставляет облегчённую/минимальную версию UNIX окружения в достаточном объёме, чтобы вести разработку почти как в UNIX (там есть bash, git, curl и т.д.). Причём, утилиты для MSYS2 собираются при помощи MinGW.
Про отличия MinGW от Cygwin можно ещё почитать:
в wiki: https://ru.wikipedia.org/wiki/MinGW в английской версии SO: What is the difference between Cygwin and MinGW? ну, и загуглить: Cygwin vs. MinGW

Комментариев нет:

Отправить комментарий