Visual studio 2019 отладка linux

Загрузка, установка и настройка рабочей нагрузки Linux

Проекты Linux поддерживаются в Visual Studio версии 2017 и выше. Чтобы увидеть документацию для этих версий, установите в данной статье селектор Версия Visual Studio в Visual Studio 2017 или Visual Studio 2019. Он находится в верхней части оглавления на этой странице.

Вы можете использовать интегрированную среду разработки Visual Studio в Windows для создания, редактирования и отладки проектов C++, которые выполняются в удаленной системе Linux, на виртуальной машине или в подсистеме Windows для Linux.

Вы можете работать с имеющейся базой кода, где CMake не требуется преобразовывать в проект Visual Studio. Если база кода является кроссплатформенной, в Visual Studio можно создавать решения как для Windows, так и для Linux. Например, с помощью Visual Studio можно редактировать, выполнять сборку и отлаживать свой код в Windows. Затем можно быстро перенацелить проект для Linux на сборку и отладку в среде Linux. Файлы заголовков Linux автоматически копируются на ваш локальный компьютер. Visual Studio использует их для обеспечения полной поддержки технологии IntelliSense (завершение операторов, переход к определению и т. д.).

Чтобы использовать любой из этих сценариев, требуется рабочая нагрузка Разработка для Linux на C++ .

Установка Visual Studio

В поле поиска Windows введите «Visual Studio Installer»:

Найдите установщик в разделе Приложения и дважды щелкните его. Когда откроется установщик, щелкните Изменить и перейдите на вкладку Рабочие нагрузки. Прокрутите вниз до раздела Другие наборы инструментов и выберите рабочую нагрузку Разработка для Linux на C++ .

Если вы используете внедренную платформу или платформу Интернета вещей, перейдите в панель Сведения об установке, которая находится справа. В разделе Разработка для Linux на C ++ разверните узел Необязательные компоненты и выберите нужные компоненты. Поддержка CMake для Linux включена по умолчанию.

Для продолжения установки нажмите кнопку Изменить.

Варианты создания среды Linux

Если у вас нет компьютера Linux, можно создать виртуальную машину Linux в Azure. Дополнительные сведения см. в разделе Краткое руководство. Создание виртуальной машины Linux на портале Azure.

В Windows 10 можно установить и настроить использование определенного дистрибутива Linux в подсистеме Windows для Linux (WSL). См. подробнее руководство по установке подсистемы Windows для Linux в Windows 10. Если не удается получить доступ к Microsoft Store, можете вручную скачать пакеты дистрибутивов WSL. WSL — это удобная консольная среда, но ее не рекомендуется использовать для графических приложений.

Для проектов Linux в Visual Studio необходимо установить следующие зависимости в удаленной системе Linux или WSL:

  • Компилятор — Visual Studio 2019 полностью поддерживает GCC и Clang.
  • gdb — Visual Studio автоматически запускает gdb в системе Linux и использует интерфейс отладчика Visual Studio для обеспечения всех возможностей отладки в Linux.
  • rsync и zip — благодаря включению rsync и zip Visual Studio может извлекать файлы заголовков из системы Linux в файловую систему Windows для использования технологией IntelliSense.
  • make
  • openssh-server (только удаленные системы Linux) — Visual Studio подключается к удаленным системам Linux через безопасное SSH-соединение.
  • CMake (только для проектов CMake) — вы можете установить статически связанные двоичные файлы CMake для Linux.
  • ninja-build (только для проектов CMake) — Ninja является генератором по умолчанию для конфигураций Linux и WSL в Visual Studio 2019 версии 16.6 или более поздней версии.
Читайте также:  Linux mint переключение раскладки языка

В следующих командах предполагается, что вы используете g++ вместо clang.

Для проектов Linux в Visual Studio необходимо установить следующие зависимости в удаленной системе Linux или WSL:

  • gcc — Visual Studio 2017 полностью поддерживает GCC.
  • gdb — Visual Studio автоматически запускает gdb в системе Linux и использует интерфейс отладчика Visual Studio для обеспечения всех возможностей отладки в Linux.
  • rsync и zip — благодаря включению rsync и zip Visual Studio может извлекать файлы заголовков из системы Linux в файловую систему Windows для использования технологией IntelliSense.
  • make
  • openssh-server — Visual Studio подключается к удаленным системам Linux через защищенное SSH-соединение.
  • CMake (только для проектов CMake) — вы можете установить статически связанные двоичные файлы CMake для Linux.

Установка Linux: Использование Ubuntu в WSL

Если вы используете WSL, для сборки и отладки не требуется добавлять удаленное подключение или настраивать SSH. Использование zip и rsync является обязательным для автоматической синхронизации заголовков Linux в Visual Studio и включения поддержки Intellisense. ninja-build требуется только для проектов CMake. Если необходимые приложения отсутствуют, их можно установить с помощью следующей команды:

Использование Ubuntu в удаленных системах Linux

В целевой системе Linux должны быть установлены openssh-server, g++ , gdb и make. ninja-build требуется только для проектов CMake. Должна быть запущена управляющая программа ssh. Использование zip и rsync необходимо для автоматической синхронизации удаленных заголовков на локальном компьютере, чтобы обеспечить поддержку Intellisense. Если этих приложений еще нет, их можно установить следующим образом.

В командной строке оболочки на компьютере Linux выполните следующую команду:

Для выполнения команды sudo вам может быть предложено ввести пароль учетной записи root. Введите его и продолжите. После завершения будут установлены требуемые службы и средства.

Запустите службу ssh на компьютере Linux, выполнив следующую команду:

Эта команда запускает службу в фоновом режиме и в состоянии готовности к принятию подключений.

Использование Fedora в WSL

В Fedora используются установщик пакетов dnf. Чтобы скачать g++ , gdb, make, rsync, ninja-build и zip, выполните следующую команду:

Использование zip и rsync является обязательным для автоматической синхронизации заголовков Linux в Visual Studio и включения поддержки Intellisense. ninja-build требуется только для проектов CMake.

Использование Fedora в удаленных системах Linux

На целевой машине под управлением Fedora используются установщик пакетов dnf. Чтобы скачать openssh-server, g++ , gdb, make, ninja-build, rsync и zip, а затем перезапустить управляющую программу ssh, сделайте следующее: ninja-build требуется только для проектов CMake.

В командной строке оболочки на компьютере Linux выполните следующую команду:

Для выполнения команды sudo вам может быть предложено ввести пароль учетной записи root. Введите его и продолжите. После завершения будут установлены требуемые службы и средства.

Запустите службу ssh на компьютере Linux, выполнив следующую команду:

Эта команда запускает службу в фоновом режиме и в состоянии готовности к принятию подключений.

Следующие шаги

Теперь вы можете создать или открыть проект Linux, а также настроить его для выполнения в целевой системе. Дополнительные сведения можно найти в разделе

Читайте также:  Mymail ��� mac os

Источник

Настройка проекта Linux на основе MSBuild C++ в Visual Studio

Поддержка Linux реализована в Visual Studio версии 2017 и выше.

В этой статье показано, как настроить проект Linux на основе MSBuild, который описан в статье Создание проекта Linux на основе MSBuild C++ в Visual Studio. Сведения о проектах Linux CMake см. в разделе Создание и настройка проекта Linux CMake.

Вы можете настроить проект Linux для физического компьютера или виртуальной машины Linux, а также для подсистемы Windows для Linux (WSL).

Visual Studio 2019 версии 16.1

Если в качестве целевой платформы используется WSL, можно избежать операций копирования, необходимых для сборки и получения компонентов IntelliSense для целевой удаленной системы Linux.

Можно указать отдельные целевые объекты Linux для сборки и отладки.

Общие параметры

Чтобы просмотреть параметры настройки, выберите Проект > Свойства или щелкните правой кнопкой мыши проект в обозревателе решений и выберите Свойства в контекстном меню. Появятся параметры Общие.

По умолчанию создается исполняемый файл (с расширением .out). Чтобы создать статическую или динамическую библиотеку либо использовать существующий файл Makefile, используйте параметр Тип конфигурации.

Если вы выполняете сборку для подсистемы Windows для Linux (WSL) версии 1, количество параллельных процессов компиляции будет ограничено 64. Это ограничение контролируется параметром Максимальное количество параллельных заданий компиляции в разделе Свойства конфигурации > C/C++ > Общие.

Независимо от версии WSL, если планируется использовать более 64 параллельных процессов компиляции, рекомендуется выполнять сборку с помощью Ninja, что в большинстве случаев будет быстрее и надежнее. Чтобы выполнить сборку с помощью Ninja, используйте параметр Включить инкрементное построение в разделе Свойства конфигурации > Общие.

См. подробнее о параметрах на страницах свойств в справочнике по страницам свойств проекта Linux.

Настройки удаленной системы

Изменить параметры для удаленного компьютера Linux можно в окне Общие.

Чтобы указать целевой удаленный компьютер Linux, используйте запись Компьютер удаленной сборки. Это позволит выбрать одно из подключений, созданных ранее. Чтобы создать новую запись, см. раздел Подключение к удаленному компьютеру Linux.

Visual Studio 2019 версии 16.7. Чтобы выбрать подсистему Windows для Linux (WSL), задайте в раскрывающемся списке Набор инструментов платформы значение GCC для подсистемы Windows для Linux. Другие параметры удаленного взаимодействия исчезнут. Вместо них отобразится путь к оболочке WSL по умолчанию:

Если у вас есть параллельные установки WSL, можно указать другой путь. См. подробнее об управлении и настройке и администрировании подсистемы Windows для разных дистрибутивов Linux.

Вы можете указать другой целевой объект для отладки на странице Свойства конфигурации > Отладка.

Параметр Корневой каталог удаленной сборки определяет корневой каталог, где выполняется сборка проекта на удаленном компьютере Linux. По умолчанию это

/projects, пока не будет изменено.

Каталог проекта удаленной сборки — это место, где будет выполняться сборка этого конкретного проекта на удаленном компьютере Linux. По умолчанию это каталог $(RemoteRootDir)/$(ProjectName) , который будет развернут в каталог с именем текущего проекта в корневом каталоге, заданном выше.

Изменить компиляторы C и C++ или компоновщик и архиватор, которые используются для сборки проекта по умолчанию, можно в соответствующих записях в разделе C/C++ > Общие и разделе Компоновщик > Общие. Например, можно указать определенную версию GCC и Clang. Дополнительные сведения см. в статьях Свойства C/C++ (Linux C++) и Свойства компоновщика (Linux C++).

Читайте также:  Как правильно разбить диск перед установкой windows

Копирование источников (только для удаленных систем)

При использовании WSL этот раздел можно пропустить.

Во время сборки в удаленных системах исходные файлы на компьютере разработки копируются на компьютер Linux и компилируются там. По умолчанию все источники в проекте Visual Studio копируются в расположения, заданные в параметрах выше. Однако можно также добавить в список дополнительные источники или полностью отключить копирование источников, что используется по умолчанию для проекта Makefile.

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

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

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

События сборки

Так как вся компиляция происходит на удаленном компьютере (или в WSL), в раздел «События сборки» свойства проекта добавляются некоторые дополнительные события сборки. Это удаленное событие перед сборкой, удаленное событие перед компоновкой и удаленное событие после сборки, которые будут возникать на удаленном компьютере перед или после отдельных этапов процесса.

IntelliSense для заголовков в удаленных системах

При добавлении нового подключения в диспетчере подключений Visual Studio автоматически обнаруживает каталоги включения (include) для компилятора на удаленной системе. Затем Visual Studio архивирует с помощью zip и копирует эти файлы в каталог на локальном компьютере Windows. После этого при каждом использовании данного соединения в проекте Visual Studio или CMake заголовки в этих каталогах используются для обеспечения поддержки технологии IntelliSense.

В Visual Studio 2019 версии 16.5 и более поздних удаленное копирование заголовков было оптимизировано. Заголовки теперь копируются по запросу при открытии проекта Linux или настройке CMake для целевого объекта Linux. Копирование выполняется в фоновом режиме для каждого проекта на основе указанных в проекте компиляторов. Дополнительные сведения см. в статье Улучшения точности и производительности IntelliSense в Linux.

Для использования этой возможности необходимо, чтобы на компьютере Linux был установлен zip. Для установки zip можно использовать следующую команду пакетного менеджера apt-get:

Для управления кэшем заголовка перейдите в меню Сервис > Параметры, кроссплатформенный > Диспетчер соединений > Диспетчер удаленных заголовков IntelliSense. Для обновления кэша заголовка после внесения изменений на компьютере Linux выберите удаленное подключение и нажмите Обновить. Нажмите Удалить, чтобы удалить заголовки, не удаляя само подключение. Выберите Проводник, чтобы открыть локальный каталог, в проводнике. К этой папке необходимо относиться как к папке только для чтения. Чтобы скачать заголовки для существующего подключения, созданного в Visual Studio 2017 до версии 15.3, выберите подключение и щелкните Скачать.

«Диспетчер подключений» > «Диспетчер удаленных заголовков IntelliSense»» data-linktype=»relative-path»>

«Диспетчер подключений»» data-linktype=»relative-path»>

Вы можете включить ведение журнала для устранения проблем:

Языковой стандарт целевого объекта Linux

Языковые параметры Visual Studio не распространяются на целевые объекты Linux, так как Visual Studio не управляет установленными пакетами и не настраивает их. Сообщения, отображаемые в окне Вывод, например ошибки сборки, отображаются с использованием языка и языкового стандарта целевого объекта Linux. Вам потребуется настроить целевые объекты Linux для требуемого языкового стандарта.

Источник

Оцените статью