Существуют ли готовые решения для использования компилятора GCC из Visual Studio? В общем то это должно быть возможно. Я искал в интернете, такие вопросы имеют место быть, только ответов нет.
Отладчик особо не нужен, но был бы бонусом.
Кто нибудь так пробовал делать?
На данный момент я делаю так. Создаю проект где нибудь в Code::Blocks из уже готового проекта в Visual Studio и правлю код, чтобы GCC его компилировал.
PS Мне это нужно для того чтобы писать более кроскомпиляторный код, лучше соответствующий стандарту.
Здравствуйте, Aleх, Вы писали:
A>Существуют ли готовые решения для использования компилятора GCC из Visual Studio? В общем то это должно быть возможно. Я искал в интернете, такие вопросы имеют место быть, только ответов нет.
A>Отладчик особо не нужен, но был бы бонусом.
A>Кто нибудь так пробовал делать?
A>На данный момент я делаю так. Создаю проект где нибудь в Code::Blocks из уже готового проекта в Visual Studio и правлю код, чтобы GCC его компилировал.
A>PS Мне это нужно для того чтобы писать более кроскомпиляторный код, лучше соответствующий стандарту.
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, Aleх, Вы писали:
A>>Существуют ли готовые решения для использования компилятора GCC из Visual Studio? В общем то это должно быть возможно. Я искал в интернете, такие вопросы имеют место быть, только ответов нет.
A>>Отладчик особо не нужен, но был бы бонусом.
A>>Кто нибудь так пробовал делать?
A>>На данный момент я делаю так. Создаю проект где нибудь в Code::Blocks из уже готового проекта в Visual Studio и правлю код, чтобы GCC его компилировал.
A>>PS Мне это нужно для того чтобы писать более кроскомпиляторный код, лучше соответствующий стандарту.
С>Так не пойдёт?
Но как это автоматизировать для всего проекта?
Я же не буду для каждого файла по отдельности писать параметры компиляции.
Кстати, будет ли в этом случае выводиться результат работы компилятора в окно Output?
Пока что мне пришла в голову идея установить компилятор Intel и посмотреть, как он встраивается в Visual Studio, и сделать по аналогии, если это возможно.
Здравствуйте, Aleх, Вы писали:
A>Здравствуйте, Слава, Вы писали:
A>Но как это автоматизировать для всего проекта?
Ну можно, например Find/Replace по файлу проекта
A>Я же не буду для каждого файла по отдельности писать параметры компиляции. A>Кстати, будет ли в этом случае выводиться результат работы компилятора в окно Output?
Да.
Может быть и дебаг будет, но на строку по клике на ошибке точно будет прыгать.
A>Пока что мне пришла в голову идея установить компилятор Intel и посмотреть, как он встраивается в Visual Studio, и сделать по аналогии, если это возможно.
Наверное так и делает. Ещё есть возможность в файлах xml описывать окно свойств компилятора, тогда можно менять опции в гуе ( я делал для ассемблера, но как уже не помню) скорее всего интел так и делает.
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, Aleх, Вы писали:
A>>Здравствуйте, Слава, Вы писали:
С> Ещё есть возможность в файлах xml описывать окно свойств компилятора, тогда можно менять опции в гуе ( я делал для ассемблера, но как уже не помню)
A>Пока что мне пришла в голову идея установить компилятор Intel и посмотреть, как он встраивается в Visual Studio, и сделать по аналогии, если это возможно.
Я тоже искал в свое время что похожее, но как ни странно в Интернете все советы либо запусти make как custom build либо юзай Eclipse,Code::Blocks, и т.п. Интел возможно заплатил микрософту за доступ к кишкам VS, а может даже совместно с самим МС с-интегриривал свой компилятор за бабки. У CGG на это нет ни денег, ни желания. Кстати, в make файлах общие параметры компиляции можно записать один раз а сами файлы потом просто добавлять по мере надобности. Если что то получится — напиши
Здравствуйте, Aleх, Вы писали:
A>Существуют ли готовые решения для использования компилятора GCC из Visual Studio? В общем то это должно быть возможно. Я искал в интернете, такие вопросы имеют место быть, только ответов нет.
Здравствуйте, FR, Вы писали:
FR>Здравствуйте, Aleх, Вы писали:
A>>Существуют ли готовые решения для использования компилятора GCC из Visual Studio? В общем то это должно быть возможно. Я искал в интернете, такие вопросы имеют место быть, только ответов нет.
FR>Посмотри http://www.wingdb.com/
Посмотрел, но заставить работать этот инструмент у меня не вышло.
Всё делаю, как написано в хелпе (прописываю пути к MinGW, настраиваю сам проект), пытаюсь скомпилировать с опцией MinGW/Cygwin, но возникает ошибка в mingw32-make "No Target". Мне показалась плагин работает довольно мутно. Не понятно куда он сохраняет настройки проекта. Makefile генерируется почти пустой (касательно самого проекта там нет ничего).
Правильно ли я понимаю, что плагин, который может осуществлять поставленную задачу (хотя бы компилировать проект) должен работать следующим образом:
— Считать настроки проекта из VCCLCompilerTool
— Построить по ним makefile для mingw32-make
— запустить его и вывод перенаправить в окно Output.
Как сделать последний пункт? Как сделать так, чтобы можно было тыкая на ошибку, переходить на нужную строку в файле? Может ли студия сама распознавать места ошибок в файлах из вывода компилятора или же нужно самостоятельно парсить вывод компилятора и переводить курсор на нужное место в файле?
Здравствуйте, Aleх, Вы писали:
A>Существуют ли готовые решения для использования компилятора GCC из Visual Studio? В общем то это должно быть возможно. Я искал в интернете, такие вопросы имеют место быть, только ответов нет.
Надо однозначно написать аддин для Студии. На visualstudiogallery всякую никому не нужную хрень пишут и выкладывают, а такой полезной вещи как плагин для подключения внешних компиляторов (не только gcc, и не только компиляторов С++) до сих пор не сделали.
Жалко я не сильно владею этой темой, да и без того OpenSource проектов хватает.
Здравствуйте, x-code, Вы писали:
XC>Здравствуйте, Aleх, Вы писали:
A>>Существуют ли готовые решения для использования компилятора GCC из Visual Studio? В общем то это должно быть возможно. Я искал в интернете, такие вопросы имеют место быть, только ответов нет.
XC>Надо однозначно написать аддин для Студии. На visualstudiogallery всякую никому не нужную хрень пишут и выкладывают, а такой полезной вещи как плагин для подключения внешних компиляторов (не только gcc, и не только компиляторов С++) до сих пор не сделали. XC>Жалко я не сильно владею этой темой, да и без того OpenSource проектов хватает.
Я тоже не владею этой темой, но информации вроде бы достоточно (есть различные проекты с открытыми исходниками, реализующие поддержку языков не родных для студии).
Я, например, даже не знаю как подступиться правильно к этой задаче — писать Add-in или VSPackage.
Как я понимаю, для этой задачи нужно писать VSPackage, но читаем по ссылке
Project subtypes let you customize or flavor the behavior of the project systems of Visual Studio. Customizations include saving additional data in the project file, adding or filtering items in the Add New Item dialog box, controlling how assemblies are debugged and deployed, and extending the project Property Pages dialog box. VSPackages implement project subtypes using COM aggregation.
Казалось бы то что нужно, но следующий абзац всё обламывает:
The Visual C++ project system does not support project subtypes.
Можно конечно написать новую систему проектов, но это кажется не разумным, тк работы слишком много.
Потом, не понятно, возможно ли будет заставить работать Intellisens если создать новый тип проекта.
Очень много вопросов, и в одиночку, не имея опыта в написании расширений для Visual Studio сделать поддержку GCC мне видится невозможным.