Как установить компилятор GNU G++ в Visual Studio 2008

Как настроить компилятор Visual Studio 2008 на GNU GCC. Могу ли я также сделать его специфичным для проектов? Я не нашел убедительного ответа.

Спасибо.


person DogDog    schedule 03.08.2010    source источник
comment
На кой черт ты хочешь??? VS, вероятно, самая неприятная и глючная IDE из существующих. Единственная причина для его использования - интеграция с компилятором и отладчиком MS и/или вам сказали. Попробуйте затмение или что-то в этом роде.   -  person Edward Strange    schedule 04.08.2010


Ответы (5)


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

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

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


  1. Установите MinGW (думаю, этот шаг уже сделан), включая mingw32-make
  2. Создайте make-файл для mingw32-make с именем MinGWMakefile и тремя целями: clean, build и rebuild. Это может быть очень утомительно, если вы никогда не делали этого раньше.
  3. Создайте новую конфигурацию для вашего проекта
  4. Перейдите в свойства конфигурации-> общие-> тип конфигурации и выберите «makefile».
  5. Go to configuration properties->NMake, and use these command lines:
    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++, но с этим справится любой инструмент для работы с регулярными выражениями.

person KeatsPeeks    schedule 03.08.2010

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

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

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

Ранее я уже описывал этот подход (немного подробнее):

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

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

person Community    schedule 03.08.2010

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

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

person Merlyn Morgan-Graham    schedule 03.08.2010

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

person SigTerm    schedule 03.08.2010

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

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

person Collin Dauphinee    schedule 03.08.2010