Как использовать GCC с Microsoft Visual Studio?
Я создаю очень большой проект (несколько тысяч строк) и так что бы не использовать Notepad++. IDE сделает это намного проще. У меня есть опыт работы с Microsoft Visual Studio и мне это нравится. Есть ли простой способ использовать GCC Cygwin из Microsoft Visual Studio?
альтернативно, есть ли другие хорошие идентификаторы Windows для GCC, кроме NetBeans и Eclipse? (Я страстно ненавижу их обоих.)
2 ответов
есть несколько способов отправиться сюда:
Вариант 1: Создайте пользовательский инструмент сборки
в Visual Studio 2005 и новее позволит вам Регистрация пользовательских инструментов сборки. Они говорят IDE, как преобразовать файлы одной формы (например, a .cpp
file) в другую форму (например,).
насколько я знаю, никто еще не сделал этого для GCC. И, делая это самостоятельно, требуется написать COM-код, который, вероятно, слишком глубок для погружения в бассейн только для одного проекта. У тебя должна быть веская причина, чтобы взяться за этот проект.
затем вам нужно вручную настроить каждый проект, чтобы он использовал пользовательский инструмент сборки вместо стандартного, так как вы используете расширение имени файла (.cpp
, вероятно), о котором Visual C++ уже знает. Вы столкнетесь с проблемами, если попытаетесь смешать компиляторы VC++ и g++ для одного исполняемого файла, построенного из нескольких модулей.
С другой стороны, если вы хотите начать проект с открытым исходным кодом, это звучит как хорошая для меня. Я ожидаю, что вы быстро соберете большую базу пользователей.
Вариант 2: Проект Makefile
запустите Visual Studio и скажите Файл > Новый проект.
-
в разделе Visual C++ выберите проект Makefile
не устанавливайте флажок, предлагающий проверить проект в систему управления версиями, если вы используете Visual Studio Express. Если вы не платите за Visual Studio, вы, вероятно, также решили не платить за дорогостоящие "решения" Microsoft, и VSE не поддерживает сторонние VCS плагины, такие как AnkhSVN на в Subversion.
-
заполните мастер проекта Makefile:
- построить командную строку: сделать
- чистый команды: чистые
- перестроить командную строку: сделать очистить все
оставить выход (для отладки) только поле, если вы не делаете что-то странное, например, не называя исполняемый файл после имени проекта или помещая имя исполняемого файла где-то, кроме верхнего уровня проекта.
оставьте остальные поля в покое, если вы не знаете, что они такое и почему вы хотите их изменить. Так же, как пример, вы можете выбрать, чтобы передать -D
флаг на определения препроцессора line для получения отдельных отладочных и выпускных выходов. Если вы знаете, что хотите этого, вы знаете, как это устроить, поэтому я не собираюсь делать этот длинный ответ еще дольше, чтобы объяснить его. (И если вы не знаете, как, но хотите, это, вероятно, хорошая тема для нового вопроса SO!)
вам будет задан тот же набор вопросов для сборки выпуска. Если вы хотите возиться с отдельными сборками отладки и выпуска, вы должны внести любые изменения здесь.
сделав все это, вы все равно должны создать Makefile
и добавить make.exe
на PATH
. Как и в случае с отладки и вопрос освобождения, идя в том, что уровень детализации будет толкать этот ответ не по теме.
как бы уродливо это ни выглядело, это все равно проще, чем создавать пользовательские инструменты сборки. Кроме того, вы говорите, что вам нужно портировать в Unix в конце концов, поэтому вам понадобится это Makefile
в любом случае.
Вариант 3: Кросс-Платформенная Разработка
вы скажем, вы хотите перенести эту программу в Unix в какой-то момент, но это не означает, что вы должны использовать GCC в Windows сейчас. Вполне возможно написать вашу программу так, чтобы она строилась под Visual C++ на Windows и gcc/Makefiles на системах *ix.
есть даже несколько инструментов, которые делают это проще, создавая файлы VS project и Makefile
S из одного общего источника. Я использую Bakefile, а CMake становится все более популярным в последние годы. проектов SCons также выполняет эту работу и, вероятно, также более популярен, чем Bakefile; он, безусловно, обновляется чаще.
Я из будущего.
Я продолжаю (тыкать) цепочку инструментов C / C++, используя Визуальный Код на Win / Lin / Mac и MinGW, установленных из Choclatey. (Это было сделано для моего здравомыслия - установите GDB и GCC, как вы хотите)
Я запустил его с GCC и GDB с IntelliSense, используя собственные странные JSON-файлы MS. Когда-нибудь, кто-нибудь (вы?) напишет скрипт Gradle или Python для их генерации; пока примеры в интернете в документах кажется работать.
кажется, требуется три типа вещи JSON;
- один IntelliSense конфигурация для всего рабочего пространства
- a Отладка Конфигурации запись для каждого двоичного файла, который вы хотите отладить
- они могут вызывать задачи сборки
- a Создать Задание ТВ-артефакт
- я не думаю, что есть" требуется "или" зависимость" тинджи-Ма-Боб, извини!--18-->