Код Visual Studio не видит библиотеки c

Обновлено: 20.11.2024

Да, вы можете установить и запустить CLion в Windows, macOS и Linux.

Инструкции для конкретных ОС см. в разделе Установка CLion.

См. «Сочетания клавиш CLion», чтобы узнать, как правильно выбрать раскладку клавиатуры для вашей операционной системы, и узнать о наиболее полезных сочетаниях клавиш.

С какими компиляторами и отладчиками я могу работать?

В CLion можно использовать компиляторы на основе GCC, Clang, Clang-cl, компилятор Visual Studio C++, а также компилятор IAR и пользовательский компилятор. Дополнительные сведения см. в разделе Компиляторы.

CLion поддерживает отладку с помощью GDB (встроенной или пользовательской) на всех платформах и с помощью встроенной LLDB в macOS и Linux. Кроме того, существует отладчик на основе LLDB для цепочки инструментов MSVC в Windows. Дополнительные сведения см. в разделе об отладке ниже и на странице параметров отладчика.

Какие системы сборки поддерживаются? Какие бывают форматы проекта?

CLion полностью интегрируется с системой сборки CMake: вы можете легко создавать, открывать, собирать и запускать/отлаживать проекты CMake. Сам CMake входит в состав CLion, поэтому вам не нужно устанавливать его отдельно, если вы не решите использовать пользовательскую версию.

Помимо CMake, CLion поддерживает Makefile, базу данных компиляции и проекты Gradle. Создание новых проектов этих типов в CLion в настоящее время не поддерживается.

Для получения дополнительной информации см. Форматы проектов.

Нужно ли мне что-то устанавливать заранее?

В Windows для работы CLion требуется рабочая среда. CLion включает версию набора инструментов MinGW для быстрой настройки. Вы можете использовать этот комплект инструментов или переключиться на другую установку MinGW, Cygwin или Microsoft Visual C++. Если вы работаете с WSL или Docker, их также необходимо установить.

В macOS необходимые инструменты могут быть уже установлены. Если нет, обновите инструменты разработчика командной строки, как описано в разделе Настройка CLion в macOS.

В Linux компиляторы и make также могут быть предварительно установлены. В противном случае, в случае Debian/Ubuntu, установите пакет build_essentials и, при необходимости, пакет llvm, чтобы получить Clang.

Поддерживаются ли другие языки помимо C++?

Да, CLion полностью поддерживает Python, Objective-C/C++, HTML (включая HTML5), CSS, JavaScript и XML. Поддержка этих языков реализована через встроенные плагины, которые включены по умолчанию. Дополнительные сведения см. в разделе Функции CLion на разных языках.

Вы можете установить другие подключаемые модули, чтобы CLion поддерживал больше языков (например, Rust, Swift или Markdown). См. полезные языковые плагины.

1. Открыть/создать проект

Открыть локальный проект

Для проектов CMake используйте один из следующих вариантов:

Выберите файл | Откройте и найдите каталог проекта. Этот каталог должен содержать файл CMakeLists.txt.

Выберите файл | Откройте и наведите CLion на файл CMakeLists.txt верхнего уровня, затем выберите «Открыть как проект».

Выберите файл | Откройте и найдите файл CMakeCache.txt, затем выберите «Открыть как проект».

Чтобы открыть проект компиляционной базы данных, выберите Файл | Откройте , укажите CLion на папку, содержащую compile_commands.json, или на сам файл compile_commands.json (затем выберите «Открыть как проект»).

Чтобы открыть проект Makefile, выберите Файл | Open , укажите CLion на папку, содержащую Makefile верхнего уровня, или на сам Makefile (затем выберите Open as Project ).

Чтобы открыть проект Gradle, выберите Файл | Open , укажите CLion на папку, содержащую build.gradle, или на сам файл build.gradle (затем выберите Open as Project ).

Извлечение из репозитория

Нажмите «Извлечь из системы управления версиями» на экране приветствия или выберите VCS | Извлечь из системы управления версиями в главном меню и выбрать систему управления версиями.

Введите учетные данные для доступа к хранилищу и укажите путь к источникам. CLion клонирует репозиторий в новый проект CMake.

Создать новый проект CMake

Выберите файл | Новый проект в главном меню или нажмите Новый проект на экране приветствия.

Укажите тип вашего проекта: C или C++, исполняемый файл или библиотека.

Обратите внимание, что STM32CubeMX и CUDA также являются типами проектов на основе CMake.

Укажите расположение корневой папки и выберите стандарт языка.

CLion создает новый проект CMake и заполняет файл CMakeLists.txt верхнего уровня:

Исходный файл CMakeLists.txt уже содержит несколько команд. Найдите их описание и дополнительную информацию о работе с CMake в нашем руководстве.

2. Оглянитесь вокруг

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

Редактор — это место, где вы просматриваете, пишете и редактируете свой код. Редактор показывает каждый файл в отдельной вкладке. Вы также можете разделить редактор по вертикали или по горизонтали для одновременного просмотра нескольких вкладок.

Панель навигации помогает переключаться между вкладками файлов, а панель инструментов обеспечивает быстрый доступ к запуску/отладке и действиям, связанным с VSC.

Левая полоса — вертикальная полоса слева от редактора — показывает точки останова и интерактивные значки, помогающие перемещаться по структуре кода (например, переходить к определению или объявлению) и запускать main() или тесты.

Правая полоса показывает результаты анализа кода с индикатором общего состояния файла вверху.

Окна инструментов представляют определенные инструменты или задачи, такие как TODO, CMake, терминал или файловая структура.

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

В любое время, когда вам нужно найти действие IDE, нажмите Ctrl+Shift+A или выберите Справка | Найдите действие и начните вводить имя команды, параметра или даже элемента пользовательского интерфейса, который вы ищете:

3. Настройте свою среду

Изменить внешний вид IDE

Самый быстрый способ переключения между цветовыми схемами, стилями кода, раскладками клавиш, режимами просмотра и внешним видом (темами пользовательского интерфейса) среды IDE — это переключатель. выскакивать. Чтобы вызвать его, щелкните View | Схема быстрого переключения или нажмите Ctrl+` :

Чтобы изучить все настраиваемые параметры, перейдите на соответствующие страницы в меню "Настройки" / "Настройки" Ctrl+Alt+S .

Настроить редактор

Страницы в узле "Редактор" диалогового окна "Настройки/Настройки" помогают настроить поведение редактора, от самых общих настроек (таких как включение Drag'n'Drop и конфигурация прокрутки) до выделения цветов и параметров стиля кода.

Стили кода настраиваются для каждого языка отдельно на страницах в разделе «Редактор | Узел «Стиль кода». Для C/C++ можно установить один из предопределенных стилей кода или указать свой собственный, а также настроить желаемое соглашение об именах, включая шаблон защиты заголовка:

Настроить раскладку

В CLion почти каждое действие, возможное в IDE, связано с сочетанием клавиш. Чтобы просмотреть сопоставление по умолчанию, вызовите Help | Сочетания клавиш PDF .

Вы можете настроить ярлыки в Настройках/Предпочтениях| Карта ключей. Используйте одну из предопределенных раскладок (Visual Studio, Emacs, Eclipse, NetBeans, Xcode и другие) и настройте ее по мере необходимости или создайте собственную раскладку с нуля.

Есть также плагины, которые расширяют список доступных раскладок. Например, раскладка VS Code или эмуляция Vim (которая включает раскладку Vim). Найдите другие полезные плагины для редактора CLion в разделе Ценные плагины, не входящие в комплект.

4. Код с поддержкой

Автозаполнение

Базовое завершение Ctrl+Пробел в CLion работает по мере ввода и выводит список всех доступных дополнений. Чтобы отфильтровать этот список и просмотреть только предложения, соответствующие ожидаемому типу, используйте Умное завершение Ctrl+Shift+Пробел :

Генерация кода

Даже пустой класс или новый файл C/C++ содержит шаблонный код, который CLion генерирует автоматически. Например, когда вы добавляете новый класс, CLion создает заголовок с уже размещенным внутри кодом-заглушкой и защитой заголовка, а также соответствующий исходный файл, который включает его.

Одной из самых полезных функций генерации кода является создание из использования . Это поможет вам сосредоточиться на идеях по мере их появления и позаботится о рутине. Например, когда вы вызываете функцию, которая еще не реализована, нет необходимости прерывать поток: нажмите Alt+Enter, чтобы сгенерировать код-заглушку, к которому вы сможете вернуться позже. Создать из использования также работает для переменных и классов:

Чтобы получить список параметров генерации кода в любом месте вашего кода, нажмите Alt+Insert для вызова меню "Создать":

Эти параметры помогут вам избежать написания большого количества кода. Помимо создания конструкторов/деструкторов, геттеров/сеттеров и различных операторов, вы можете быстро переопределять и реализовывать функции:

Динамические шаблоны — это инструмент для создания целых конструкций кода. Найдите список готовых к использованию шаблонов в Settings / Preferences | Редактор | Живые шаблоны. Чтобы вставить шаблон в свой код, вызовите Code | Вставьте Live Template или нажмите Ctrl+J , например:

Намерения и быстрые исправления

Когда вы видите лампочку рядом с символом в вашем коде, это означает, что анализ кода CLion обнаружил потенциальную проблему или возможное изменение:

указывает на ошибку и позволяет быстро исправить ее,

указывает, что доступно одно или несколько намеренных действий.

Нажмите значок лампочки (или нажмите Alt+Enter ) и выберите наиболее подходящее действие или быстрое исправление:

Проверки

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

CLion обнаруживает не только ошибки компиляции, но и неэффективность кода, например неиспользуемые переменные или мертвый код. Кроме того, он включает настраиваемый набор проверок Clang-tidy.

Чтобы включить или отключить проверки, настройте их уровни серьезности (должна ли проверка вызывать ошибку или просто показывать предупреждение) и установите области действия, перейдите в «Настройки» / «Предпочтения» | Редактор | Инспекции .

Вы также можете запускать проверки по требованию для всего проекта или определенной области и просматривать результаты в отдельном окне. Для этого вызовите Код | Проверить код или использовать код | Анализ кода | Запустить проверку по имени Ctrl+Alt+Shift+I для конкретной проверки.

В окне инструмента результатов вы можете одновременно применять быстрые исправления для нескольких проблем. Нажмите Частично исправить на вкладке описания:

Рефакторинг

Рефакторинг помогает улучшить ваш код, не добавляя новых функций, делая его чище, проще для чтения и обслуживания. Используйте раздел Refactor главного меню или вызовите Refactor This. Ctrl+Alt+Shift+T, чтобы получить список рефакторингов, доступных в текущем местоположении:

Переименовать Shift+F6 переименовывает символ во всех ссылках;

Изменить подпись Ctrl+F6 добавляет, удаляет или переупорядочивает параметры функции, изменяет тип возвращаемого значения или обновляет имя функции (влияя на все варианты использования);

Inline Ctrl+Alt+N /Extract встраивает или извлекает функцию, typedef, переменную, параметр, определение или константу;

Вытягивание элементов вверх/вниз ( Refactor | Pull Members Up / Push Members Down ) безопасно перемещает элементы класса в базовый или подкласс.

5. Исследуйте свой код

Искать везде

Чтобы найти что-либо в CLion, будь то элемент в кодовой базе, действие или элемент пользовательского интерфейса, дважды нажмите клавишу Shift и начните вводить то, что вы ищете, в диалоговом окне «Искать везде». Используйте меню фильтров, чтобы сузить область поиска:

Найти варианты использования

Чтобы найти использование любого символа кода, вызовите функцию «Найти использование» ( Alt+F7 или «Правка | Найти | Найти использование» ). Вы можете отфильтровать результаты и вернуться к исходному коду:

Навигация по структуре кода

Переключиться между заголовком и исходным файлом Ctrl+Alt+Home

Перейти к объявлению/определению Ctrl+B Ctrl+Alt+B

Просмотреть иерархию типов Ctrl+H

Просмотреть иерархию вызовов Ctrl+Alt+H

Просмотреть иерархию импорта Alt+Shift+H

Для вашего кода CLion выстраивает иерархию типов, вызовов, импортов и функций. Для их просмотра используйте сочетания клавиш, приведенные выше, или команды в меню «Навигация». Например, иерархия типов помогает вам не только перемещаться по коду, но и обнаруживать, какие отношения типов существуют в вашей кодовой базе:

Кроме того, используйте значки слева в поле для быстрого перехода к объявлению/определению или навигации по иерархии классов (/, /).

Просмотреть всплывающую документацию

детали подписи функции,

документация по коду (обычные комментарии или комментарии Doxygen),

выводимые типы для переменных, объявленных как автоматические:

форматированные расширения макроса:

Кроме того, вы можете мгновенно просмотреть определение символа в точке вставки. Нажмите Ctrl+Shift+I, чтобы вызвать всплывающее окно Quick Definition:

6. Создайте и запустите

Запуск/отладка конфигураций

Для каждой цели в вашем проекте CLion создает конфигурацию запуска/отладки. Это именованная установка, которая включает в себя цель, исполняемый файл, аргументы для передачи программе и другие параметры.

Конфигурации запуска/отладки генерируются из шаблонов, таких как Приложение CMake, Google Test, Удаленная отладка GDB и т. д. Шаблоны можно настраивать: когда вы редактируете параметр шаблона, вы изменяете настройки по умолчанию всех конфигураций, которые будут созданы на основе этого шаблона позже.

Диалоговое окно «Редактировать конфигурации» доступно из меню «Выполнить» или переключателя конфигурации. Здесь вы можете управлять шаблонами и добавлять, удалять или редактировать свои конфигурации.

Например, вы можете настроить действия, которые необходимо выполнить перед запуском: вызвать внешние инструменты (в том числе удаленные), использовать установку CMake или даже запустить другую конфигурацию.

Чтобы запустить программу, выберите нужную конфигурацию и используйте команды из меню "Выполнить" или нажмите Shift+F10 . Либо вызовите диалоговое окно «Выполнить что угодно», дважды нажав Ctrl, и начните вводить имя конфигурации: Совет: удерживайте нажатой клавишу Shift, чтобы переключиться на Отладить что угодно.

Создать действия

Сборка включена во многие шаблоны конфигурации запуска/отладки в качестве шага по умолчанию перед запуском. Однако вы также можете выполнить его отдельно, вызвав нужное действие из меню Build:

Обратите внимание на параметр "Перекомпилировать", который компилирует выбранный файл без сборки всего проекта.

Удаленная и встроенная разработка

С помощью CLion вы также можете выполнять сборку и запуск/отладку на удаленных компьютерах, включая встроенные цели. См. разделы «Удаленная разработка» и «Разработка встраиваемых систем».

7. Отладка

CLion интегрируется с серверной частью GDB на всех платформах (в Windows встроенный GDB доступен только для MinGW) и LLDB на macOS/Linux. Вы можете переключиться на пользовательскую версию GDB на всех платформах. Кроме того, CLion предоставляет отладчик на основе LLDB для MSVC в Windows.

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

LLDB версии 13.0.0 для macOS/Linux и 9.0.0 для Windows (MSVC)

GDB версии 10.2 для macOS

GDB версии 10.2 для Windows

GDB v 10.2 для Linux

Пользовательская ГБД v 7.8.x-11.1

Чтобы начать сеанс отладки, выберите нужную конфигурацию и нажмите Shift+F9 или нажмите . Вы можете установить точки останова, щелкнув поле рядом со строкой кода. Чтобы следить за процессом выполнения, используйте пошаговые действия отладчика .

На вкладке "Переменные" окна инструмента отладчика вы можете просмотреть значения и изменить их, не прерывая сеанс отладки. Чтобы оценить выражение, щелкните или нажмите Alt+F8 . CLion также показывает текущие значения переменных прямо в редакторе, а если вы включаете шестнадцатеричный вид, то они также отображаются встроенными:

В этом руководстве вы настроите Visual Studio Code для использования компилятора и отладчика Microsoft Visual C++ в Windows.

После настройки VS Code вы скомпилируете и отладите простую программу Hello World в VS Code.В этом учебнике не рассказывается подробно о наборе инструментов Microsoft C++ или языке C++. По этим темам в Интернете доступно множество хороших ресурсов.

Если у вас возникнут какие-либо проблемы, не стесняйтесь сообщить о проблеме для этого руководства в репозитории документации VS Code.

Предпосылки

Чтобы успешно завершить это руководство, необходимо сделать следующее:

Установите расширение C/C++ для VS Code. Вы можете установить расширение C/C++, выполнив поиск «c++» в представлении «Расширения» ( ⇧⌘X (Windows, Linux Ctrl+Shift+X )).

Установите набор инструментов компилятора Microsoft Visual C++ (MSVC).

Если у вас установлена ​​последняя версия Visual Studio, откройте установщик Visual Studio из меню "Пуск" Windows и убедитесь, что рабочая нагрузка C++ проверена. Если он не установлен, установите флажок и нажмите кнопку «Изменить» в программе установки.

Вы также можете установить рабочую нагрузку "Разработка рабочего стола на C++" без полной установки интегрированной среды разработки Visual Studio. На странице загрузок Visual Studio прокрутите вниз, пока не увидите Инструменты для Visual Studio 2022 в разделе Все загрузки, и выберите загрузку для инструментов сборки для Visual Studio 2022.

При этом будет запущен установщик Visual Studio, который откроет диалоговое окно с доступными рабочими нагрузками Visual Studio Build Tools. Проверьте рабочую нагрузку "Разработка рабочего стола с помощью C++" и выберите "Установить".

Примечание. Вы можете использовать набор инструментов C++ из Visual Studio Build Tools вместе с Visual Studio Code для компиляции, сборки и проверки любой кодовой базы C++, если у вас также есть действующая лицензия Visual Studio (Community, Pro , или Enterprise), которые вы активно используете для разработки этой кодовой базы C++.

Проверьте установку Microsoft Visual C++

Чтобы использовать MSVC из командной строки или VS Code, необходимо выполнить запуск из командной строки разработчика для Visual Studio. В обычной оболочке, такой как PowerShell, Bash или командная строка Windows, не установлены необходимые переменные среды пути.

Чтобы открыть командную строку разработчика для VS, начните вводить слово «разработчик» в меню «Пуск» Windows, и оно должно появиться в списке предложений. Точное имя зависит от того, какая версия Visual Studio или Visual Studio Build Tools у вас установлена. Выберите элемент, чтобы открыть приглашение.

Вы можете проверить правильность установки компилятора C++, cl.exe , введя 'cl', и вы должны увидеть сообщение об авторских правах с версией и основным описанием использования.

Если командная строка разработчика использует расположение BuildTools в качестве начального каталога (вам не следует помещать туда проекты), перейдите в папку пользователя ( C:\users\\ ), прежде чем начинать создавать новые проекты.< /p>

Примечание. Если по какой-то причине вы не можете запустить VS Code из командной строки разработчика, вы можете найти обходной путь для создания проектов C++ с помощью VS Code в разделе Запуск VS Code вне командной строки разработчика.

Создать Hello World

В командной строке разработчика создайте пустую папку с именем "projects", в которой вы можете хранить все свои проекты VS Code, затем создайте подпапку с именем "helloworld", перейдите в нее и откройте VS Code ( code ) в этой папке. ( . ), введя следующие команды:

Код . Команда открывает VS Code в текущей рабочей папке, которая становится вашей «рабочей областью». По мере прохождения руководства вы увидите три файла, созданных в папке .vscode в рабочей области:

  • tasks.json (инструкции по сборке)
  • launch.json (настройки отладчика)
  • c_cpp_properties.json (путь к компилятору и настройки IntelliSense)

Добавить файл исходного кода

В строке заголовка проводника нажмите кнопку "Новый файл" и назовите файл helloworld.cpp .

Добавить исходный код Hello World

Теперь вставьте этот исходный код:

Теперь нажмите ⌘S (Windows, Linux Ctrl+S ), чтобы сохранить файл. Обратите внимание, как только что добавленный файл отображается в представлении Проводника ( ⇧⌘E (Windows, Linux Ctrl+Shift+E) ) на боковой панели VS Code:

Вы также можете включить функцию "Автосохранение" для автоматического сохранения изменений в файле, установив флажок "Автосохранение" в главном меню "Файл".

Панель действий в крайнем левом углу позволяет открывать различные представления, например «Поиск», «Управление версиями» и «Выполнить». Вы познакомитесь с представлением «Выполнить» позже в этом руководстве. Дополнительные сведения о других представлениях см. в документации по пользовательскому интерфейсу VS Code.

Примечание. Когда вы сохраняете или открываете файл C++, вы можете увидеть уведомление от расширения C/C++ о доступности версии Insiders, которая позволяет протестировать новые функции и исправления. Вы можете проигнорировать это уведомление, выбрав X (Удалить уведомление).

Исследуйте IntelliSense

В новом файле helloworld.cpp наведите указатель мыши на вектор или строку, чтобы увидеть информацию о типе. После объявления переменной msg начните вводить msg. как при вызове функции-члена. Вы должны немедленно увидеть список завершения, который показывает все функции-члены, и окно, которое показывает информацию о типе для объекта msg:

Вы можете нажать клавишу Tab, чтобы вставить выбранный элемент; затем, когда вы добавите открывающую скобку, вы увидите информацию обо всех аргументах, которые требуются функции.

Сборка helloworld.cpp

Далее вы создадите файл tasks.json, чтобы указать VS Code, как собирать (компилировать) программу. Эта задача вызовет компилятор Microsoft C++ для создания исполняемого файла на основе исходного кода.

В главном меню выберите «Терминал» > «Настроить задачу сборки по умолчанию». В раскрывающемся списке будет отображаться раскрывающийся список задач со списком различных предопределенных задач сборки для компиляторов C++. Выберите cl.exe build active file, который создаст файл, отображаемый (активный) в данный момент в редакторе.

Это создаст файл tasks.json в папке .vscode и откроет его в редакторе.

Ваш новый файл tasks.json должен выглядеть примерно так, как показано ниже:

Настройка команды определяет программу для запуска; в данном случае это «cl.exe». Массив args указывает аргументы командной строки, которые будут переданы в cl.exe. Эти аргументы должны быть указаны в порядке, ожидаемом компилятором. Эта задача сообщает компилятору C++ взять активный файл ( $ ), скомпилировать его и создать исполняемый файл ( /Fe: переключатель) в текущем каталоге ( $ ) с тем же именем, что и у активного файла, но с расширением .exe. ( $.exe ), что в нашем примере приводит к helloworld.exe.

Примечание. Подробнее о переменных tasks.json можно узнать в справочнике по переменным.

Значение ярлыка — это то, что вы увидите в списке задач; вы можете назвать это как хотите.

Значение ProblemMatcher выбирает анализатор выходных данных, который будет использоваться для поиска ошибок и предупреждений в выходных данных компилятора. Для cl.exe вы получите наилучшие результаты, если будете использовать средство сопоставления задач $msCompile.

Значение isDefault: true в групповом объекте указывает, что эта задача будет запущена при нажатии ⇧⌘B (Windows, Linux Ctrl+Shift+B ). Это свойство предназначено только для удобства; если вы установите для него значение false, вы все равно сможете запустить его из меню терминала с помощью Tasks: Run Build Task.

Запуск сборки

Вернитесь к файлу helloworld.cpp . Ваша задача создает активный файл, и вы хотите построить helloworld.cpp .

Чтобы запустить задачу сборки, определенную в tasks.json , нажмите ⇧⌘B (Windows, Linux Ctrl+Shift+B ) или в главном меню терминала выберите Задачи: Запустить задачу сборки.

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

Если сборка завершается сбоем из-за того, что не найден cl.exe или отсутствует путь включения, убедитесь, что вы запустили VS Code из командной строки разработчика для Visual Studio.

Создайте новый терминал с помощью кнопки +, и у вас будет новый терминал (работающий с PowerShell) с папкой helloworld в качестве рабочего каталога. Запустите ls, и теперь вы должны увидеть исполняемый файл helloworld.exe вместе с различными промежуточными выходными файлами C++ и файлами отладки ( helloworld.obj , helloworld.pdb ).

Вы можете запустить helloworld в терминале, набрав .\helloworld.exe .

Примечание. Возможно, сначала вам придется несколько раз нажать Enter, чтобы увидеть приглашение PowerShell в терминале. Эта проблема должна быть исправлена ​​в будущем выпуске Windows.

Изменение tasks.json

Вы можете изменить файл tasks.json для создания нескольких файлов C++, используя такой аргумент, как "$\\*.cpp" вместо $ . Это создаст все файлы .cpp в вашей текущей папке. Вы также можете изменить имя выходного файла, заменив "$\\$.exe" жестко заданным именем файла (например, "$\\myProgram.exe" ).

Отладка файла helloworld.cpp

Далее вы создадите файл launch.json, чтобы настроить VS Code для запуска отладчика Microsoft C++ при нажатии клавиши F5 для отладки программы. В главном меню выберите «Выполнить» > «Добавить конфигурацию». а затем выберите C++ (Windows).

После этого вы увидите раскрывающийся список для различных предопределенных конфигураций отладки. Выберите cl.exe для сборки и отладки активного файла.

VS Code создает файл launch.json, открывает его в редакторе, строит и запускает "helloworld".

Настройка программы определяет программу, которую вы хотите отлаживать. Здесь указывается активная папка с файлами $ и активное имя файла с расширением .exe $.exe , которое, если активным файлом является helloworld.cpp , будет helloworld.exe .

По умолчанию расширение C++ не добавляет никаких точек останова в исходный код, а для параметра stopAtEntry установлено значение false . Измените значение stopAtEntry на true, чтобы отладчик останавливался на основном методе при запуске отладки.

Начать сеанс отладки

  1. Вернитесь к файлу helloworld.cpp, чтобы он стал активным.
  2. Нажмите F5 или в главном меню выберите «Выполнить» > «Начать отладку». Прежде чем вы приступите к просмотру исходного кода, обратите внимание на несколько изменений в пользовательском интерфейсе:

Интегрированный терминал отображается в нижней части редактора исходного кода. На вкладке «Вывод отладки» вы видите вывод, указывающий на то, что отладчик запущен и работает.

Редактор выделяет первый оператор в основном методе. Это точка останова, которую расширение C++ автоматически устанавливает для вас:

В представлении «Выполнение» слева отображается отладочная информация. Вы увидите пример позже в этом руководстве.

В верхней части редактора кода появляется панель управления отладкой. Вы можете перемещать его по экрану, хватая точки с левой стороны.

Пошаговое выполнение кода

Теперь вы готовы приступить к выполнению кода.

Нажимайте значок Step over на панели управления отладкой, пока не будет выделен оператор for (const string& word : msg).

Команда Step Over пропускает все внутренние вызовы функций в векторных и строковых классах, которые вызываются при создании и инициализации переменной msg. Обратите внимание на изменение в окне переменных слева. В этом случае ошибки ожидаются, потому что, хотя имена переменных для цикла теперь видны отладчику, оператор еще не выполнен, поэтому в этот момент читать нечего. Однако содержимое msg видно, потому что этот оператор завершен.

Нажмите Step over еще раз, чтобы перейти к следующему оператору в этой программе (пропустив весь внутренний код, который выполняется для инициализации цикла). Теперь в окне «Переменные» отображается информация о переменных цикла.

Снова нажмите Step, чтобы выполнить оператор cout. Примечание. Начиная с версии расширения за март 2019 г. выходные данные не отображаются до завершения цикла.

Если хотите, вы можете продолжать нажимать Step over до тех пор, пока все слова в векторе не будут напечатаны на консоли. Но если вам интересно, попробуйте нажать кнопку Step Into, чтобы просмотреть исходный код в стандартной библиотеке C++!

Чтобы вернуться к собственному коду, один из способов – продолжать нажимать кнопку "Перейти". Другой способ — установить точку останова в вашем коде, переключившись на вкладку helloworld.cpp в редакторе кода, поместив точку вставки где-нибудь в операторе cout внутри цикла и нажав F9. Красная точка появляется в поле слева, указывая на то, что в этой строке установлена ​​точка останова.

Затем нажмите F5, чтобы начать выполнение с текущей строки в заголовке стандартной библиотеки. Выполнение прервется на cout . Если хотите, вы можете снова нажать F9, чтобы отключить точку останова.

Настроить часы

Иногда вам может понадобиться отслеживать значение переменной во время выполнения вашей программы. Вы можете сделать это, установив наблюдение за переменной.

Поместите точку вставки внутри цикла. В окне Watch выберите знак «плюс» и в текстовом поле введите слово, которое является именем переменной цикла. Теперь просмотрите окно Watch, когда будете проходить цикл.

Добавьте еще одно наблюдение, добавив этот оператор перед циклом: int i = 0; . Затем внутри цикла добавьте следующий оператор: ++i; . Теперь добавьте часы для i, как вы делали это на предыдущем шаге.

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

Конфигурации C/C++

Если вам нужен больший контроль над расширением C/C++, вы можете создать файл c_cpp_properties.json, который позволит вам изменять такие параметры, как путь к компилятору, включаемые пути, стандарт C++ (по умолчанию C++ 17) и многое другое.

Вы можете просмотреть пользовательский интерфейс конфигурации C/C++, выполнив команду C/C++: Edit Configurations (UI) из палитры команд ( ⇧⌘P (Windows, Linux Ctrl+Shift+P )).

При этом открывается страница конфигураций C/C++. Когда вы вносите здесь изменения, VS Code записывает их в файл с именем c_cpp_properties.json в папке .vscode.

Visual Studio Code помещает эти параметры в файл .vscode\c_cpp_properties.json . Если вы откроете этот файл напрямую, он должен выглядеть примерно так:

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

Путь к компилятору

ПараметрcompilePath является важным параметром в вашей конфигурации. Расширение использует его для определения пути к файлам заголовков стандартной библиотеки C++. Когда расширение знает, где найти эти файлы, оно может предоставлять полезные функции, такие как интеллектуальное завершение и навигация «Перейти к определению».

Расширение C/C++ пытается указать вcompilePath местоположение компилятора по умолчанию на основе того, что оно находит в вашей системе. Расширение выглядит в нескольких общих местах расположения компилятора.

Порядок поиска по пути компилятора:

  • Сначала проверьте наличие компилятора Microsoft Visual C++Ope
  • Затем найдите g++ в подсистеме Windows для Linux (WSL)
  • Затем g++ для Mingw-w64.

Если у вас установлены g++ или WSL, вам может потребоваться изменить значениеcompilePath, чтобы оно соответствовало предпочитаемому компилятору для вашего проекта. Для Microsoft C++ путь должен выглядеть примерно так, в зависимости от установленной версии: "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin /Hostx64/x64/cl.exe".

Повторное использование конфигурации C++

VS Code теперь настроен на использование компилятора Microsoft C++. Конфигурация применяется к текущей рабочей области. Чтобы повторно использовать конфигурацию, просто скопируйте файлы JSON в папку .vscode в новой папке проекта (рабочей области) и при необходимости измените имена исходных файлов и исполняемого файла.

Запуск VS Code вне командной строки разработчика

В некоторых случаях невозможно запустить VS Code из командной строки разработчика для Visual Studio (например, в сценариях удаленной разработки через SSH). В этом случае вы можете автоматизировать инициализацию командной строки разработчика для Visual Studio во время сборки, используя следующую конфигурацию tasks.json:

Примечание. Путь к VsDevCmd.bat может отличаться в зависимости от версии Visual Studio или пути установки. Вы можете найти путь к VsDevCmd.bat, открыв командную строку и запустив каталог "\VsDevCmd*" /s .

Устранение неполадок

Термин «cl.exe» не распознается

Если вы видите сообщение об ошибке "Термин "cl.exe" не распознается как имя командлета, функции, файла сценария или исполняемой программы", обычно это означает, что вы запускаете VS Code вне команды разработчика. Подсказка для Visual Studio и VS Code не знает путь к компилятору cl.exe.

VS Code необходимо либо запускать из командной строки разработчика для Visual Studio, либо задачу необходимо настроить для запуска вне командной строки разработчика.

Скриншоты

Текст был успешно обновлен, но возникли следующие ошибки:

Шон-Макманус прокомментировал 9 сентября 2019 г.

Ошибка "файл не найден" связана не с нашим расширением C/C++, а с другим установленным вами расширением. Вы также должны удалить 2 системных пути /usr/ из вашего includePath, потому что они должны исходить от компилятора (чтобы избежать проблем с порядком).

@Arpafaucon Вы указали путь к компилятору? Можете ли вы запустить C/C++: Log Diagnostics?

Arpafaucon прокомментировал 10 сентября 2019 г.

диагностика изнутри контейнера

Шон-Макманус прокомментировал 10 сентября 2019 г.

matt-rayner1 прокомментировал 11 сентября 2019 г. •

У меня тоже была точно такая же проблема. Единственные расширения, которые я запускаю, это «C/C++», «C/C++ intellisense» и «CodeRunner».

Я использовал быстрый обходной путь, добавив "../MinGW/include" в includePath.
Я также скопировал заголовок из "../MinGW/lib/gcc/mingw32/8.2.0/include" в "../MinGW/include", так как это вызовет еще одну ошибку, которую stddef.h не может найти иначе.

Необычно то, что мой код теперь выдает новые ошибки, связанные с инициализацией "FILE *file_name", но код по-прежнему работает нормально.

EDIT:
ОС и версия: Windows 10 x64
Версия кода VS: 1.38.0
Версия расширения C/C++: 0.25.1

Прокомментировал sean-mcmanus 11 сентября 2019 г.

@matt-rayner1 Что означает «точно такая же проблема», т. е. каков точный текст сообщения об ошибке? В этой теме есть 2 разных сообщения об ошибках.

Наше расширение C/C++ несовместимо с расширением "C/C++ IntelliSense". или вам нужно как-то правильно настроить это другое расширение.

Arpafaucon прокомментировал 12 сентября 2019 г.

Привет, @sean-mcmanus
мой /usr/bin/gcc, похоже, выводит английский:

Вы найдете прикрепленный журнал отладки расширения при открытии моего файла test.c. Я считаю, что этот фрагмент представляет интерес, расширение сигнализирует о неудачном поиске файлов в /include

Я могу скомпилировать файл в рабочую программу с

joel-felkana прокомментировал 16 сентября 2019 г.

Я добавлю сюда свою проблему, так как думаю, что она может быть связана.

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

Я открыл свой проект, представляющий собой рабочую область с 4 папками, каждая из которых имеет свои настройки. В этом случае, например, не найдена «unity.h», основная библиотека моей модульной тестовой среды, вместе со списком включений, начинающихся с mock_*, которые также генерируются моей модульной тестовой средой. Все эти файлы существуют и включены в пути поиска.

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

Прокомментировал sean-mcmanus 16 сентября 2019 г.

@joel-felkana
Ctrl+Click использует другую систему для поиска заголовка, который не привязан к путям IntelliSense (у нас есть еще одна ошибка, отслеживающая это).

В журналах нужно убедиться в правильности разделов "Включает". Ваши журналы, похоже, не соответствуют вашему скриншоту. Похоже, процесс IntelliSense находится в плохом состоянии.

Вы также можете попробовать запустить рабочую область C/C++: повторное сканирование в качестве еще одного потенциального обходного пути.

прокомментировал bobbrow 5 марта 2020 г.

Исходная проблема вызвана установкой несовместимого расширения "C++ IntelliSense". Если у вас по-прежнему возникают проблемы с конфигурацией других файлов в рабочей области, откройте новую проблему с подробной информацией о вашей конфигурации, и мы сможем устранить неполадки оттуда. Спасибо!

Visual C++ включает в себя компилятор C, который можно использовать для создания чего угодно: от базовых консольных программ до полноценных приложений Windows Desktop, мобильных приложений и многого другого.

В этом пошаговом руководстве показано, как создать простую программу на C в стиле "Hello, World" с помощью текстового редактора, а затем скомпилировать ее в командной строке. Если вы предпочитаете работать на C++ в командной строке, см. Пошаговое руководство. Компиляция собственной программы на C++ в командной строке. Если вы хотите попробовать интегрированную среду разработки Visual Studio вместо использования командной строки, см. раздел Пошаговое руководство. Работа с проектами и решениями (C++) или Использование интегрированной среды разработки Visual Studio для разработки настольных систем C++.

Предпосылки

Для выполнения этого пошагового руководства необходимо установить либо Visual Studio и дополнительные компоненты Visual C++, либо инструменты сборки для Visual Studio.

Visual Studio — это мощная интегрированная среда разработки, которая поддерживает полнофункциональный редактор, диспетчеры ресурсов, отладчики и компиляторы для многих языков и платформ. Сведения об этих функциях, а также о том, как загрузить и установить Visual Studio, включая бесплатную версию Visual Studio Community, см. в разделе Установка Visual Studio.

Версия Visual Studio Инструменты сборки для Visual Studio устанавливает только набор инструментов командной строки, компиляторы, инструменты и библиотеки, необходимые для сборки программ C и C++. Он идеально подходит для создания лабораторий или занятий в классе и относительно быстро устанавливается. Чтобы установить только набор инструментов командной строки, загрузите Инструменты сборки для Visual Studio со страницы загрузок Visual Studio и запустите программу установки. В установщике Visual Studio выберите рабочую нагрузку инструментов сборки C++ и нажмите "Установить".

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

Ярлык командной строки разработчика автоматически устанавливает правильные пути для компилятора и инструментов, а также для всех необходимых заголовков и библиотек. Некоторые из этих значений различаются для каждой конфигурации сборки. Вы должны установить эти значения среды самостоятельно, если вы не используете ни один из ярлыков. Дополнительные сведения см. в разделе Использование набора инструментов MSVC из командной строки. Поскольку среда сборки сложна, мы настоятельно рекомендуем вам использовать ярлык командной строки разработчика, а не создавать свой собственный.

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

Откройте командную строку разработчика в Visual Studio 2022

Если вы установили Visual Studio 2022 в Windows 10 или более поздней версии, откройте меню "Пуск" и выберите "Все приложения". Затем прокрутите вниз и откройте папку Visual Studio 2022 (не приложение Visual Studio 2022). Выберите Командная строка разработчика для VS 2022, чтобы открыть окно командной строки.

Откройте командную строку разработчика в Visual Studio 2019

Если вы установили Visual Studio 2019 в Windows 10 или более поздней версии, откройте меню "Пуск" и выберите "Все приложения". Затем прокрутите вниз и откройте папку Visual Studio 2019 (не приложение Visual Studio 2019). Выберите Командная строка разработчика для VS 2019, чтобы открыть окно командной строки.

Откройте командную строку разработчика в Visual Studio 2017

Если вы установили Visual Studio 2017 в Windows 10 или более поздней версии, откройте меню "Пуск" и выберите "Все приложения". Затем прокрутите вниз и откройте папку Visual Studio 2017 (не приложение Visual Studio 2017). Выберите Командная строка разработчика для VS 2017, чтобы открыть окно командной строки.

Откройте командную строку разработчика в Visual Studio 2015

Если вы установили Microsoft Visual C++ Build Tools 2015 в Windows 10 или более поздней версии, откройте меню "Пуск" и выберите "Все приложения". Затем прокрутите вниз и откройте папку Visual C++ Build Tools. Выберите Visual C++ 2015 x86 Native Tools Command Prompt, чтобы открыть окно командной строки.

Если вы используете другую версию Windows, найдите в меню "Пуск" или на начальной странице папку инструментов Visual Studio, содержащую ярлык командной строки разработчика. Вы также можете использовать функцию поиска Windows для поиска «командной строки разработчика» и выбрать ту, которая соответствует установленной версии Visual Studio. Используйте ярлык, чтобы открыть окно командной строки.

Затем убедитесь, что командная строка разработчика Visual C++ настроена правильно. В окне командной строки введите cl (или CL , регистр не имеет значения для имени компилятора, но имеет значение для параметров компилятора). Результат должен выглядеть примерно так:

В зависимости от версии Visual C++ и установленных обновлений могут быть различия в текущем каталоге или номерах версий. Если приведенный выше вывод похож на то, что вы видите, значит, вы готовы создавать программы C или C++ в командной строке.

Если вы получаете сообщение об ошибке, например "'cl' не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл", ошибка C1034 или ошибка LNK1104 при запуске команды cl, то либо вы не используете командная строка разработчика, или что-то не так с вашей установкой Visual C++. Прежде чем продолжить, вы должны устранить эту проблему.

Если вы не можете найти ярлык командной строки разработчика или получаете сообщение об ошибке при вводе cl , возможно, у вас возникла проблема с установкой Visual C++.Если вы используете Visual Studio 2017 или более позднюю версию, попробуйте переустановить разработку рабочего стола с рабочей нагрузкой C++ в установщике Visual Studio. Дополнительные сведения см. в разделе Установка поддержки C++ в Visual Studio. Или переустановите инструменты сборки со страницы загрузок Visual Studio. Не переходите к следующему разделу, пока не сработает команда cl. Дополнительные сведения об установке и устранении неполадок Visual Studio см. в разделе Установка Visual Studio.

В зависимости от версии Windows на компьютере и конфигурации безопасности системы вам может потребоваться щелкнуть правой кнопкой мыши, чтобы открыть контекстное меню для ярлыка командной строки разработчика, а затем выбрать «Запуск от имени администратора», чтобы успешно собрать и запустить программу, которая вы создаете, следуя этому пошаговому руководству.

Создайте исходный файл C и скомпилируйте его в командной строке

В окне командной строки разработчика введите cd c:\, чтобы изменить текущий рабочий каталог на корень вашего диска C:. Затем введите md c:\hello, чтобы создать каталог, а затем введите cd c:\hello, чтобы перейти в этот каталог. Этот каталог будет содержать ваш исходный файл и скомпилированную программу.

Введите notepad hello.c в командной строке разработчика. В появившемся диалоговом окне предупреждения Блокнота выберите Да, чтобы создать новый файл hello.c в рабочем каталоге.

В Блокноте введите следующие строки кода:

В строке меню Блокнота выберите «Файл» > «Сохранить», чтобы сохранить hello.c в рабочем каталоге.

Вернитесь в окно командной строки разработчика. Введите dir в командной строке, чтобы просмотреть содержимое каталога c:\hello. Вы должны увидеть исходный файл hello.c в списке каталогов, который выглядит примерно так:

Даты и другие данные на вашем компьютере будут отличаться. Если вы не видите файл исходного кода hello.c , убедитесь, что вы перешли в созданный вами каталог c:\hello, и в Блокноте сделайте убедитесь, что вы сохранили исходный файл в этом каталоге. Также убедитесь, что вы сохранили исходный код с расширением имени файла .c, а не с расширением .txt.

Чтобы скомпилировать программу, введите cl hello.c в командной строке разработчика.

Вы можете увидеть имя исполняемой программы hello.exe в строках выходной информации, отображаемой компилятором:

Если вы получаете сообщение об ошибке, например "'cl' не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл", ошибка C1034 или ошибка LNK1104, командная строка вашего разработчика настроена неправильно. Чтобы узнать, как решить эту проблему, вернитесь к разделу Открытие командной строки разработчика.

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

Чтобы запустить программу, введите hello в командной строке.

Программа отображает этот текст, а затем завершает работу:

Поздравляем, вы скомпилировали и запустили программу C с помощью командной строки.

Дальнейшие шаги

Этот пример "Hello, World" настолько прост, насколько это возможно для программы на C. Реальные программы имеют файлы заголовков и другие исходные файлы, связываются с библиотеками и выполняют полезную работу.

Вы можете использовать шаги, описанные в этом пошаговом руководстве, для создания собственного кода C вместо того, чтобы вводить показанный пример кода. Вы также можете создать множество примеров программ кода C, которые вы найдете в других местах. Чтобы скомпилировать программу с дополнительными файлами исходного кода, введите их все в командной строке, например:

cl файл1.c файл2.c файл3.c

Компилятор выводит программу с именем file1.exe. Чтобы изменить имя на program1.exe, добавьте параметр компоновщика /out:

cl file1.c file2.c file3.c /link /out:program1.exe

Чтобы автоматически обнаруживать больше ошибок программирования, мы рекомендуем вам компилировать с параметром уровня предупреждения /W3 или /W4:

cl /W4 файл1.c файл2.c файл3.c /ссылка /out:program1.exe

Компилятор cl.exe имеет гораздо больше параметров, которые можно применять для сборки, оптимизации, отладки и анализа кода. Для быстрого списка введите cl /? в командной строке разработчика. Вы также можете скомпилировать и связать отдельно и применить параметры компоновщика в более сложных сценариях сборки. Дополнительные сведения о параметрах компилятора и компоновщика и их использовании см. в справочнике по сборке C/C++.

Вы можете использовать NMAKE и make-файлы или MSBuild и файлы проекта для настройки и создания более сложных проектов в командной строке. Дополнительные сведения об использовании этих инструментов см. в справочнике NMAKE и MSBuild.

Языки C и C++ похожи, но не одинаковы. Компилятор Microsoft C/C++ (MSVC) использует основное правило, чтобы определить, какой язык использовать при компиляции кода. По умолчанию компилятор MSVC обрабатывает все файлы, заканчивающиеся на .c, как исходный код C, а все файлы, заканчивающиеся на .cpp, как исходный код C++.Чтобы заставить компилятор обрабатывать все файлы как C независимо от расширения имени файла, используйте параметр компилятора /TC.

MSVC совместим со стандартами ANSI C89 и ISO C99, но не соответствует им строго. В большинстве случаев переносимый код C будет компилироваться и работать, как и ожидалось. Компилятор обеспечивает дополнительную поддержку изменений в ISO C11/C17. Для компиляции с поддержкой C11/C17 используйте флаг компилятора /std:c11 или /std:c17 . Для поддержки C11/C17 требуется Windows SDK 10.0.20201.0 или более поздней версии. Рекомендуется Windows SDK 10.0.22000.0 или более поздней версии. Вы можете загрузить последнюю версию SDK со страницы Windows SDK. Дополнительные сведения и инструкции по установке и использованию этого пакета SDK для разработки C см. в статье Установка поддержки C11 и C17 в Visual Studio.

Некоторые библиотечные функции и имена функций POSIX не поддерживаются MSVC. Функции поддерживаются, но предпочтительные имена изменились. Дополнительные сведения см. в разделе Функции безопасности в CRT и предупреждение компилятора (уровень 3) C4996.

Читайте также: