Страницы

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

суббота, 21 декабря 2019 г.

MinGW или Cygwin?

#cpp #linux #c #mingw #cygwin


Раньше просто компилировал с помощью g++ на Ubuntu, вытягивая компилятор с помощью
пакетного менеджера: 

$ sudo apt-get install g++
$ g++ -o main.a main.cpp


Или на Windows с помощью различных IDE, внутри которых, как мне говорили, стоит MinGW. 

Сейчас хочется просто, используя внутреннюю консоль в Окнах, компилировать нативно
под них самих же. Почитал про Cygwin и про MinGW, понял, тащемта, что к чему, но остались
пробелы - не совсем ясно что мне нужно. 

Можно ли подробно, а лучше очень просто, узнать о каждой возможности скомпилировать
под Окна?
    


Ответы

Ответ 1



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

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

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