Лучший способ настроить среду сборки Windows для C / C ++ - PullRequest
9 голосов
/ 28 октября 2009

В основном я хочу скомпилировать C / C ++, используя GCC на Windows. На мой взгляд, две конкурирующие платформы - MinGW и Cygwin. У каждого есть свои преимущества и ограничения. MinGW компилируется для Windows, тогда как Cygwin нужен cygwin .dll. Однако установить библиотеки на MinGW сложно, тогда как на cygwin проще, используя setup.exe в качестве «менеджера пакетов».

У меня вопрос, как лучше компилировать в Windows? Было бы лучше использовать MinGW и бороться с библиотеками (в этом случае есть простой способ установки библиотек на MinGW). Или я должен использовать Cygwin, если да, как мне заставить его скомпилировать без использования cygwin .dll, эффективно скомпилировать для нормальной Windows.

Ответы [ 9 ]

7 голосов
/ 28 октября 2009

Самый простой и лучший способ компиляции в Windows - это использовать visual studio expres s. Это свободно. Хорошая причина для использования Cygwin для кроссплатформенных сборок. Хорошая причина использовать gcc - он поддерживает некоторые конфеты компилятора, которых нет у компилятора Microsoft.

Но в целом VC ++ Express - это путь разработки только для Windows.

5 голосов
/ 28 октября 2009

Всегда есть возможность использовать -mno-cygwin с Cygwin для компиляции с библиотеками Windows, как это делает MinGW:

gcc -mno-cygwin file.c -o test

Это нелегкий выбор, и в основном он зависит от того, насколько вы будете полагаться на другие библиотеки. Cygwin действительно добавляет дополнительный слой, который тяжелее, но «эмулирует» среду Linux лучше, чем MinGW.

Edit:

Qt Creator позволяет вам компилировать с MinGW в Windows (и gcc в Linux, ...), имеет IDE, что делает отладку более удобной, чем gdb Если вам нужны библиотеки, у вас все еще есть возможность использовать библиотеки Qt. Это было бы хорошим альтернативным решением для Visual Studio, если вы действительно хотите придерживаться gcc для будущей переносимости.

3 голосов
/ 28 октября 2009

Возможно, вы захотите взглянуть на CodeBlocks . Обычно он используется для создания приложений WxWidgets, но он хорошо оборачивает MinGW.

1 голос
/ 28 октября 2009

На самом деле, есть вариант № 3: если ваша редакция Windows разрешает это, вы можете установить Microsoft Services для Unix / Подсистема для приложений Unix , а затем получить gcc из SUACommunity . У него тоже есть менеджер пакетов. Из этих трех вариантов это даст вам поведение, наиболее близкое к истинной системе Unix.

Однако полученные приложения не являются приложениями Win32; это приложения SUA, для запуска которых потребуется SUA. Если вы пишете код для себя, то, как правило, это не проблема, если вы пишете код для себя, но если вы хотите писать и распространять правильное приложение Windows, я бы посоветовал держаться подальше от всего, что пытается эмулировать Unix, поэтому MinGW так и есть.

1 голос
/ 28 октября 2009

Qt Creator входит в стандартную комплектацию MinGW и может использоваться для создания проектов, которые фактически не используют инфраструктуру Qt.

0 голосов
/ 08 февраля 2010

Другой вариант - TDM MinGW: http://www.tdragon.net/recentgcc/

Это в основном неофициальный форк MinGW с новейшим компилятором GCC, доступным как для 32-, так и для 64-битных компьютеров с Windows. Даже некоторые разработчики MinGW сами используют его.

Уравнение Gcc еще лучше: http://www.equation.com/servlet/equation.cmd?fa=fortran

0 голосов
/ 29 октября 2009

Я думаю, что ответ зависит от того, собираетесь ли вы использовать библиотеки или компилировать программы, ориентированные на POSIX или цель на основе POSIX. Это то, для чего предназначен Cygwin, а MinGW больше предназначен для компиляции программ, ориентированных на Windows, с использованием GCC.

0 голосов
/ 28 октября 2009

Один из возможных способов - использовать CMake , который может построить проект Visual Studio из ваших источников, а затем скомпилировать из Visual Studio. Он может создавать проекты и для других IDE, поэтому вы можете работать на разных платформах.

0 голосов
/ 28 октября 2009

Существует простой в установке GCC, завернутый в MinGW, по адресу уравнение.com . Нажмите «Инструменты программирования», затем «Fortran, C, C ++», загрузите версию, которую вы предпочитаете, установите и используйте.

...