2013-12-10 5 views
20

Кто-нибудь знает разницу между Win-builds и MinGW-builds? Мне очень нравится компилятор C++ 11 (14) для Windows, но, к сожалению, MSVC еще не полностью совместим с C++ 11.Разница между Win-builds против MinGW-builds

+1

Вы также можете рассмотреть [clang] (http://clang.llvm.org/get_started.html). – Peter

+0

для того, что я знаю, clang не поддерживается на окнах –

+0

Правда, он еще не полностью поддерживается в Windows. Для текущего состояния см. Http://blog.llvm.org/2013/09/a-path-forward-for-llvm-toolchain-on.html – Peter

ответ

24

Разница проста: у них немного разные цели.

В частности, если вы хотите развиваться на Windows, (т.е. не нужно кросс-компиляции), то вам лучше с MinGW-builds проект, который по существу предоставляет несколько многофункциональных вариантов MinGW-w64 набора инструментов. Таблица в ссылке дает хорошее резюме функций, о которых я говорю. В основном вы можете выбрать компилятор на основе ваших требований к модели модели, потоковой модели, модели исключения. Я считаю его зрелым и стабильным, поскольку я использую его для повседневной работы, и я очень доволен качеством.

С другой стороны, основная цель Win-builds проекта, кажется, кросс-компиляции. Вы заметите, что в своем тезисе в ссылке, и вы также заметите, что она менее функциональна, чем MinGW-сборки, поэтому у вас меньше гибкости. Он также относительно новый по сравнению с MinGW-сборками, поэтому я ожидаю, что у него возникнут некоторые проблемы.

Примечание: Пожалуйста, поймите, что оба из этих проектов просто сборках (распределенные готовые к использованию бинарные файлы) из MinGW-w64 набора инструментов (GCC порта для Windows, который поддерживает x86 и x64 целей) на которых веб -сайты, указанные выше, указывают. Они предоставляются только для удобства пользователя, так что нам (пользователям) не нужно хлопотать с компиляцией инструментальной комбинации MinGW-w64, но никто не мешает вам это делать, если вы достаточно опытны и знаете, чего хотите.

Для дальнейшего чтения по соответствующей теме и C++ 11, я бы порекомендовал my other answer, который может показаться вам интересным.

Удачи.

+7

также не упоминаются некоторые специфические отличия: (1) mingw-builds слились с mingw-w64, а win-builds - отдельная сторона, (2) win-builds включает в себя пакет-менеджер 'yypkg' (аналогичный' apt- get' или 'yum'), чтобы добавить до 62 дополнительных пакетов, построенных с помощью win-builds (3) mingw-builds включает gfortran, который может быть важен для математических/научных/инженерных типов, таких как я (для создания EG BLAS и LAPACK требуется gfortran) и (4) win-builds позволяет переключать инструментальные цепочки с помощью './opt/windows_64/bin/win-builds-switch 64' или './opt/windows_32/bin/win-builds-switch 32' –

Смежные вопросы