Как установить компилятор 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)


arrow_upward
6
arrow_downward

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

Однако вы можете вызвать 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

arrow_upward
2
arrow_downward

Для достижения наилучших результатов используйте 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

arrow_upward
1
arrow_downward

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

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

person Merlyn Morgan-Graham    schedule 03.08.2010

arrow_upward
0
arrow_downward

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

person SigTerm    schedule 03.08.2010

arrow_upward
-2
arrow_downward

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

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

person Collin Dauphinee    schedule 03.08.2010