Cygwin в Visual Studio - PullRequest
       49

Cygwin в Visual Studio

11 голосов
/ 18 декабря 2009

Я пытаюсь портировать старую программу, которую я написал для класса, с KDev в Ubuntu на Windows Visual Studio 2008, используя Cygwin в качестве личного учебного упражнения. У меня есть путь включения, настроенный для включения C:\cygwin\usr\include, но он не читает файлы .h должным образом.

А именно, мне любопытно, как можно было бы использовать функциональность unix sockets.h в среде Visual Studio с использованием Cygwin. Кто-нибудь когда-нибудь получал эту работу или есть более простой способ сделать это?

Ответы [ 3 ]

8 голосов
/ 18 декабря 2009

Есть несколько способов сделать это, которые можно заставить работать, в зависимости от ваших точных целей. Возможно, самый простой способ - просто создать проект «makefile» для Visual Studio, который запускает пользовательскую команду сборки для запуска созданного вами make-файла. Но это удерживает вас от многих приятных преимуществ Visual Studio как IDE, поэтому я предполагаю, что это не совсем то, что вам нужно.

Если вы хотите более полно интегрированное решение, вам нужно сделать две вещи. Прежде всего, вам нужно будет изменить все ваши пути включения / библиотеки, чтобы избежать маршрутов Microsoft и перейти на Cygwin. Вы можете сделать это, выбрав «Сервис-> Параметры» в меню, затем выбрав «Проекты и решения-> Каталоги VC ++» в дереве в левой части окна, которое появляется. У вас будет возможность изменить каталоги поиска для исполняемых файлов, заголовков, библиотек и т. Д. Для того, что вы пытаетесь сделать, я бы предложил удалить все и добавить только каталоги cygwin.

Во-вторых, вы должны указать Visual Studio использовать компилятор gcc / g ++. Это немного сложнее. VS поддерживает пользовательские правила сборки для пользовательских типов файлов ... но, похоже, C ++ встроен в компилятор Microsoft. Я действительно не знаю, как обойти это, кроме как использовать собственное расширение файла. Вы можете попробовать стандартные unix-расширения .c (файлы C) и .cc (файлы C ++), но я подозреваю, что Visual Studio автоматически определит их. Возможно, вам придется пойти с чем-то совершенно чужим.

Если щелкнуть правой кнопкой мыши свой проект в обозревателе решений и выбрать «Пользовательские правила сборки», вам будет предоставлен интерфейс, который позволит вам создавать пользовательские правила сборки для выбранного расширения файла. Интерфейс относительно прост оттуда.

Это может не дать вам именно то, что вы хотели, но, вероятно, это примерно так же близко, как вы собираетесь с Visual Studio.

5 голосов
/ 18 декабря 2009

Проще говоря, не делайте этого . Это была бы просто трата времени. Я пробовал это несколько раз, но всегда терпел неудачу. В основном я был разочарован многими ошибками компоновки, а также не смог использовать VS в качестве отладчика.

Вы можете использовать Visual Studio для редактирования и просмотра исходного кода. Это хорошо, потому что VS предоставляет лучшие возможности C / C ++ intellisense (например, автозаполнение, быстрый переход к определению / объявлению). Но очень сложно использовать цепочки инструментов cygwin с Visual Studio 2008. Visual Studio 2008 не предназначена для работы с другими цепочками инструментов. В частности, вам необходимо изменить (1) заголовки, (2) библиотеки (3) компилятор и (4) компоновщик. Однако, как правило, это очень сложно, или вам нужно обменяться с приятными функциями Visual Studio.

Самая сильная особенность Visual Studio - это возможность отладки, такая как полностью интегрированная среда отладки и очень простые окна наблюдения (например, вы можете видеть элемент вектора STL непосредственно в окнах наблюдения). Однако вы не сможете этого сделать, если измените основную цепочку инструментов (хотя я очень подозрительно, что даже можно безопасно строить с помощью цепочек инструментов Visual Studio и cygwin).

К сожалению, текущая версия Visual Studio 2008 не предназначена для Cygwin / MinGW.

0 голосов
/ 09 января 2019

Это старый вопрос, но поскольку он впервые (для SO) в поиске Google, я хотел бы поделиться, что, похоже, последние версии Visual Studio поддерживают это.

Инструкции см. В этом сообщении в блоге: https://blogs.msdn.microsoft.com/vcblog/2017/07/19/using-mingw-and-cygwin-with-visual-cpp-and-open-folder/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...