Как мне установить компилятор GNU G ++ в Visual studio 2008 - PullRequest
4 голосов
/ 03 августа 2010

Как мне установить мой компилятор Visual studio 2008 на GNU GCC. Могу ли я сделать это специально для проектов? Я не нашел окончательного ответа.

Спасибо.

Ответы [ 5 ]

5 голосов
/ 04 августа 2010

Вы не можете использовать компилятор напрямую.

Однако вы можете вызвать make-файл вместо использования встроенной системы сборки.

Пример конфигурации:

  1. Установить MinGW (я думаю, этот шаг уже выполнен), включая mingw32-make
  2. Создать make-файл для mingw32-make с именем MinGWMakefile, с 3 целями: cleanbuild и rebuild.Это может быть очень утомительно, если вы никогда не делали этого раньше.
  3. Создайте новую конфигурацию для вашего проекта
  4. Перейдите в свойства конфигурации -> общие сведения -> тип конфигурации и выберите «makefile»
  5. Перейдите в свойства конфигурации-> NMake и используйте следующие командные строки:
    Build Command Line: mingw32-make -f MinGWMakefile build
    ReBuild Command Line: mingw32-make -f MinGWMakefile rebuild
    Clean Command Line: mingw32-make -f MinGWMakefile clean

Включение функции "перейти к строке" в сообщениях компилятора:

Вам нужно преобразовать вывод gcc из этого:

filename:line:message

В это:

filename(line):message

Я использовал для этого пользовательскую программу C ++, но любой инструмент регулярных выражений будетсделать трюк.

2 голосов
/ 04 августа 2010

Для достижения наилучших результатов используйте GNU make, проект make-файла Visual Studio и инструмент, который вы пишете сами.Ваш make-файл представляет собой скелет, который компилирует файлы (используйте переменную для списка файлов), и ваш инструмент анализирует файлы .sln и .vcproj для создания этого списка файлов.Makefile включает в себя результат.Просто нужно немного клея и смазки для локтя - вы потратите целый день на то, чтобы проклясть нежелание сделать то, что вы хотите, и тогда все заработает.После запуска и запуска этот подход не требует слишком большого обслуживания.

Вы можете сделать свой инструмент и make-файл простым, просто выбрасывая все файлы во всех проектах в микс и связывая результат, используя шаблоны файлов, чтобы решить, чтопроисходит с каждым файлом и помещает все параметры компилятора в make-файл.Или вы можете получить более умные, извлекать #defines и включать пути из проекта, и, возможно, добавить в конфигурацию проекта Win32, которую генератор makefile использует для правильной обработки пользовательских шагов сборки, исключенных файлов, параметров компилятора и т. Д.

Простой подход должен удовлетворить большинство, потому что он позволяет любому добавлять новые файлы в проект так же, как они это обычно делают, не беспокоясь о make-файле, в то же время затрудняя случайное изменение настроек, которые не нужны пользователям.меняется.

Ранее я описывал этот подход (с чуть более подробной информацией):

Хорошие методы для использования Makefiles в VisualStudio?

(Как только выесли он настроен, он работает хорошо, и во многих отношениях он на самом деле более удобен, чем обычный подход VS, даже без учета того факта, что теперь вы можете использовать другие компиляторы.)

1 голос
/ 04 августа 2010

Возможно, вы сможете создать собственный проект makefile, чтобы решить эту проблему за вас.

Основной сценарий Visual Studio - это IDE для инструментов разработчика MS.Наиболее распространенные способы компиляции с использованием инструментов GNU под Windows - это MinGW или Cygwin.

0 голосов
/ 04 августа 2010

Использовать внешнюю систему сборки.(Makefile проект).

0 голосов
/ 04 августа 2010

Насколько я знаю, это невозможно сделать. cl более или менее интегрирован с Visual Studio.

Полагаю, если вы действительно впали в отчаяние, вы можете попробовать создать шаг перед сборкой, который вызывает gcc, а затем сделать что-то, чтобы остановить сборку Visual Studio.

...