Visual studio компиляция для linux

С/С++ на Linux в Visual Studio Code для начинающих

Давайте начистоту, мало кто использует отладчик GDB на Linux в консольном варианте. Но что, если добавить в него красивый интерфейс? Под катом вы найдёте пошаговую инструкцию отладки кода С/С++ на Linux в Visual Studio Code.

Передаю слово автору.

Относительно недавно я переехал на Linux. Разрабатывать на Windows, конечно, удобнее и приятнее, но и здесь я нашел эффективный способ легко и быстро отлаживать код на С/С++, не прибегая к таким методам как «printf-стайл отладки» и так далее.

Итак приступим. Писать в sublime (или gedit/kate/emacs ), а запускать в терминале — так себе решение, ошибку при работе с динамическим распределением памяти вряд ли найдёшь с первого раза. А если проект трудоёмкий? У меня есть более удобное решение. Да и ещё поддержка Git в редакторе, одни плюсы.

Сегодня мы поговорим про Visual Studio Code.

Установка

  1. Качаем версию пакета VS Code с расширением .deb
  2. Переходим в папку, куда скачался пакет (cd

/Загрузки или cd

/Downloads)
Пишем, где (имя пакета).deb — название файла, который вы только что скачали:

OpenSUSE/SLE Based distrs

Обновим пакеты и установим VS Code:

Расширения для С/С++

Чтобы VS Code полностью сопровождал нас при работе с файлами С/С++, нужно установить расширение «cpptools». Также полезным будет поставить один из наборов сниппетов.

Настоятельно рекомендую включить автосохранение редактируемых файлов, это поможет нам в дальнейшем.

Идём дальше. Открываем любую папку (новую или нет, неважно).

У меня в этой папке уже есть пара файлов для работы с C/C++. Вы можете скопировать одну из своих наработок сюда или создать новый файл.

Осталось всего ничего. Настроить компиляцию в одну клавишу и научиться отлаживать без printf .

Шаг 1. Открываем файл .c/.cpp, который (обязательно) лежит в вашей папке.

Шаг 2. Нажимаем Ctrl+Shift+B. VS Code вам мягко намекнет, что он не знает как собирать ваш проект.


Шаг 3. Поэтому дальше настраиваем задачу сборки: выбираем «Настроить задачу сборки» -> «Others».

Шаг 4. Прописываем конфигурацию в соответствии с образцом. По сути мы пишем скрипт для консоли, так что всем кто имел дело с ней будет понятно дальнейшее. Прошу заметить, что для сборки исходников в системе должен стоять сам компилятор (gcc или другой, отличаться будет только значение поля command ). Поэтому для компиляции .cpp, понадобится в поле command указать g++ или c++ , а для .c gcc .

Шаг 5. В args прописываем аргументы, которые будут переданы на вход вашему компилятору. Напоминаю, что порядок должен быть примерно таким: -g, .

Внимание: Если в вашей программе используется несколько файлов с исходным кодом, то укажите их в разных аргументах через запятую. Также обязательным является ключ -g (а лучше даже -g3 ). Иначе вы не сможете отладить программу.

Если в проекте для сборки вы используете makefile , то в поле command введите make , а в качестве аргумента передайте директиву для сборки.


Шаг 6. Далее возвращаемся обратно к нашему исходнику. И нажимаем F5 и выбираем C++.

Шаг 7. Осталось только написать путь к файлу программы. По умолчанию это $/a.out , но я в своем файле сборки указал флаг -o и переименовал файл скомпилированной программы, поэтому у меня путь до программы: $/main .


Шаг 8. Всё, больше нам не нужно ничего для начала использования всех благ VS Code. Переходим к основному проекту.

Отладка

Для начала скомпилируем программу (нет, нет, убери терминал, теперь это делается по нажатию Ctrl+Shift+B).

Как вы видите в проводнике появился main , значит все в порядке и сборка прошла без ошибок. У меня не слишком большая программа, но выполняется она моментально. Одним словом, провал чистой воды, потому что отладка идет в отдельном терминале, который закрывается после того, как программа дошла в main() до «return 0;» .


Пришло время для брейкпоинтов. Выберем строчку с «return 0;» и нажимаем F9.


Строчка, помеченная красной точкой слева — место, где остановится программа, при выполнении.

Далее нажимаем F5.

Как я и сказал, программа остановила выполнение. Обратите внимание на окно с локальными переменными.

Удобненько. Также при остановке можно наводить мышкой на переменные и структуры в коде и смотреть их значения.


Также, если на каком-то этапе выполнения вам нужно посмотреть пошаговое выполнение той или иной операции, например в цикле, то поставьте брейкпоинт перед ней и нажмите F10 для выполнения текущей строчки без захода в подпрограмму и F11 с заходом.

Также есть случаи, когда считать выражение очень муторно вручную, но для отладки вам нужно знать, например, значение суммы трех элементов массива, или значение большого логического выражения. Для этого существуют контрольные значения. Все это и многое другое могут показать вам Контрольные значения (или «watch»).

  1. Для каждой папки вам нужно отдельно настроить файлы сборки и путь к программе.
  2. VS Code не решит ваших проблем, но поможет быстрее с ними разобраться. Причем в разы.
  3. После каждого изменения программы, ее нужно компилировать заново, нажимая Ctrl+Shift+B.

Полезные шорткаты можно посмотреть здесь.

Источник

Создание проекта Linux на основе MSBuild C++ в Visual Studio

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

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

Для кросс-платформенной компиляции рекомендуем использовать CMake. Более комплексная поддержка CMake предоставляется в Visual Studio 2019. Если CMake вам не подходит и у вас есть решение Windows в Visual Studio, в котором нужно обеспечить возможность компиляции для Linux, добавьте проект Visual Studio для Linux в решение Windows вместе с проектом общих элементов. Поместите код, совместно используемый обеими платформами, в проект общих элементов и добавьте ссылку на него из проектов Windows и Linux.

Создание проекта Linux

Чтобы создать проект Linux в Visual Studio 2017, сделайте следующее:

Выберите Файл > Создать проект в меню Visual Studio или нажмите клавиши Ctrl + Shift + N.

Выберите узел Visual C++ > Кроссплатформенный > Linux, а затем укажите тип проекта, который вы хотите создать. Укажите имя и расположение, а затем щелкните ОК.

«Кроссплатформенные» > «Linux», выбранными типами проектов и выделенными текстовыми полями «Имя» и «Расположение».» data-linktype=»relative-path»>

Тип проекта Описание
Blink (Raspberry) Проект для устройства Raspberry Pi с примером кода, который включает мигание светодиодного индикатора
Консольное приложение (Linux) Проект для любого компьютера Linux с примером кода, который выводит текст в окно консоли
Пустой проект (Linux) Проект для любого компьютера Linux без примера кода
Проект Makefile (Linux) Проект для любого компьютера Linux, который создается с использованием стандартной системы сборки Makefile

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

При создании в Visual Studio нового проекта C++ для Linux можно выбрать его тип: Visual Studio или CMake. В этой статье описано, как создать проект Visual Studio. В большинстве случаев для новых проектов, которые могут содержать открытый код или которые нужно компилировать для кроссплатформенной разработки, рекомендуется использовать CMake с Visual Studio. С помощью проекта CMake вы можете выполнять сборку и отладку одного и того же проекта и в Windows, и в Linux. Дополнительные сведения см. в статье Создание и настройка проекта Linux CMake.

Если у вас есть решение Windows в Visual Studio, в котором нужно обеспечить возможность компиляции для Linux, и CMake вам не подходит, добавьте проект Visual Studio для Linux в решение Windows вместе с проектом общих элементов. Поместите код, совместно используемый обеими платформами, в проект общих элементов и добавьте ссылку на него из проектов Windows и Linux.

Создание проекта Linux

Чтобы создать проект Linux в Visual Studio 2019, сделайте следующее:

Выберите Файл > Создать проект в меню Visual Studio или нажмите клавиши Ctrl + Shift + N. Появится диалоговое окно «Создание нового проекта».

В текстовом поле Поиск шаблонов введите Linux, чтобы получить список доступных шаблонов для проектов 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 или более поздней версии.

В следующих командах предполагается, что вы используете 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, а также настроить его для выполнения в целевой системе. Дополнительные сведения можно найти в разделе

Источник

Читайте также:  Microsoft sdk windows 10 как пользоваться
Оцените статью