Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: DogDogОтветов: 5

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

Спасибо.

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

c++g++compiler-constructiongnuvisual-studio-2008

Ответы

Ответ 1 · рейтинг 6 · KeatsPeeks

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

Однако вы можете вызвать 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++, но с этим справится любой инструмент для работы с регулярными выражениями.

Ответ 2 · рейтинг 2 · Community

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

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

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

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

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

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

Ответ 3 · рейтинг 1 · Merlyn Morgan-Graham

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

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

Ответ 4 · SigTerm

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

Ответ 5 · рейтинг -2 · Collin Dauphinee

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы