Как включить библиотеку в Visual Studio c

Обновлено: 03.07.2024

Библиотеки на C++ — это наборы кода, написанного кем-то другим. Они избавляют вас от необходимости изобретать велосипед, когда вам нужно реализовать какую-то желаемую функциональность. Вы можете думать о библиотеках как о подключаемом модуле или дополнении, которое дает вам больше возможностей.

Например, я хотел написать программу, способную перемножать две матрицы. Вместо того, чтобы писать код с нуля, я поискал в Интернете библиотеку линейной алгебры на C++, которая содержала функции для умножения матриц. Я нашел библиотеку под названием «Эйген». Я добавил библиотеку в свой проект в интегрированной среде разработки CodeLite и был готов к работе.

Без лишних слов, вот пошаговый процесс добавления внешней библиотеки C++ в ваш проект с помощью интегрированной среды разработки CodeLite и интегрированной среды разработки Visual Studio.

Обратите внимание, что этот процесс будет другим, если вы используете другую IDE для C++, но два основных шага одинаковы для всех IDE:

  1. Добавить путь к файлам заголовков
  2. Добавить путь к фактическому коду (т. е. к библиотеке)

Шаг 1. Перейдите на веб-сайт библиотеки.
Например, для библиотеки линейной алгебры Eigen перейдите на эту страницу: Главная страница Eigen

Шаг 2. Загрузите ZIP-файл, содержащий весь код.

Шаг 3. Разархивируйте ZIP-файл на свой компьютер.

Шаг 4. Откройте CodeLite (т. е. вашу IDE)

Шаг 5. Откройте новый проект

Шаг 6. Щелкните правой кнопкой мыши имя проекта и выберите "Настройки".

Шаг 7. Перейдите на вкладку "Компилятор" и добавьте пути включения:
например, папка, содержащая папку с именем «Eigen»… C:\XYZ\eigen-eigen-21301928\
Здесь компилятор может найти файлы .h (т.е. заголовки)

Шаг 8. Нажмите Linker и добавьте путь поиска библиотек
например, C:\XYZ\eigen-eigen-21301928\
Путь выше должен быть местом, где компоновщик может найти библиотеки (обычно с суффиксом .a, .dll, .lib, .so)

  • Статические библиотеки — XYZ.lib для Windows, UNIX/Linux/Max — libXYZ.a
  • Динамические библиотеки — XYZ.dll для Windows, Unix/Linux/Mac — libXYZ.so

Шаг 9. Перейдите к файлу main.cc (т. е. ваш файл с исходным кодом... также может быть main.cpp) и добавьте директивы препроцессора вверху исходного файла. Вы можете использовать этот код, чтобы проверить правильность настройки.

1-zip_fileJPG

int main()

MatrixXd m(2,2);
m(0 ,0) = 3;
m(1,0) = 2,5;
m(0,1) = -1;
m(1,1) = m(1,0) + m(0,1);
std::cout

Шаг 3. Разархивируйте ZIP-файл на свой компьютер.

2-unzipJPG

Шаг 4. Переместите папку в какой-либо каталог на вашем компьютере.

Я перемещу его в каталог C:\libraries. На данном этапе Эйген идет по следующему пути для меня:

3-directoryJPG

Шаг 5. Откройте Visual Studio.

Шаг 6. Создайте новый проект C++.

Шаг 7. Напишите следующий код в новый исходный файл.

Я назову этот файл main.cpp.

Шаг 8. Нажмите на вкладку "Проект" вверху и перейдите в раздел "Дополнительные включаемые каталоги".

Проект -> Свойства -> C/C++ -> Общие (его можно найти, развернув маленький треугольник рядом с C/C++) -> Дополнительные включаемые каталоги

4-additional-includeJPG

Шаг 9. Нажмите на пустое место рядом с «Дополнительные каталоги включения».
Должен появиться небольшой раскрывающийся список в виде треугольника.

Шаг 10. Нажмите .

Шаг 11. Нажмите значок "Добавить новую строку".

5-add- новая строкаJPG

Шаг 12. Добавьте путь к папке, содержащей Eigen

Если щелкнуть пустое место, должен появиться значок с тремя точками «…». Щелкните этот значок и добавьте путь к папке, содержащей Eigen.

В моем случае путь:

C:\libraries\eigen-3.3.7\eigen-3.3.7\

потому что настоящей библиотекой Eigen является эта папка:

Шаг 13. Нажмите "ОК".

6-after-includeJPG

Шаг 14. Нажмите «Применить», а затем «ОК».

7-apply-then-okJPG

Шаг 15. Перейдите к файлу main.cpp (или как называется исходный код, который вы написали ранее).

Шаг 16. Скомпилируйте и запустите код.

Чтобы скомпилировать код, выберите "Сборка" -> "Сборка решения".

Затем, чтобы запустить код, выберите "Отладка" -> "Начать без отладки".

Вот что вы должны увидеть:

9-outputJPG

Вот оно! Все готово.

Последние публикации

Свяжитесь со мной в LinkedIn!

Моя цель — познакомиться со всеми, кто любит робототехнику. Свяжитесь со мной в LinkedIn, если вы нашли мою информацию полезной для себя. Также следите за моей страницей в LinkedIn, где я публикую интересный контент, связанный с робототехникой. Не стесняйтесь! Буду рад услышать от вас!

Использование библиотек, загруженных через vcpkg

Чтобы использовать библиотеку, которую вы загрузили с помощью диспетчера пакетов vcpkg, вы можете игнорировать приведенные ниже инструкции. Дополнительные сведения см. на странице vcpkg.io.

Использование статических библиотек

Если ваш проект статической библиотеки создается в том же решении:

Если статическая библиотека не является частью решения:

  1. Щелкните правой кнопкой мыши узел проекта приложения в обозревателе решений и выберите "Свойства".
  2. На странице свойств Каталоги VC++ добавьте путь к каталогу, содержащему файл LIB, в Пути к библиотеке. Затем добавьте путь к заголовочному файлу (файлам) библиотеки в каталоги включения.
  3. На странице свойств Linker > Input добавьте имя файла LIB в Дополнительные зависимости.

Библиотеки динамических ссылок

Если DLL создается как часть того же решения, что и приложение, выполните те же действия, что и для статической библиотеки.

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

  1. Скопируйте DLL в выходную папку вашего проекта или в другую папку по стандартному пути поиска Windows для DLL. Дополнительные сведения см. в разделе Порядок поиска в библиотеке динамической компоновки.
  2. Выполните шаги 1–3 для статических библиотек, чтобы указать пути к заголовкам и файлу LIB.

COM-объекты

Если вашему собственному приложению C++ необходимо использовать COM-объект, и этот объект зарегистрирован, все, что вам нужно сделать, — это вызвать CoCreateInstance и передать CLSID объекта. Система найдет его в реестре Windows и загрузит. Таким же образом проект C++/CLI может использовать COM-объект. Или он может использовать его, добавив ссылку на него из списка «Добавить ссылки» > COM и используя его через вызываемую оболочку времени выполнения.

Справочные свойства

Каждый вид ссылки имеет свойства. Вы можете просмотреть свойства, выбрав ссылку в обозревателе решений и нажав Alt + Enter, либо щелкнув правой кнопкой мыши и выбрав «Свойства». Некоторые свойства доступны только для чтения, а некоторые можно изменить. Однако обычно вам не нужно вручную изменять эти свойства.

Эталонные свойства ActiveX

Свойства ссылок ActiveX доступны только для ссылок на COM-компоненты. Эти свойства отображаются только при выборе COM-компонента на панели «Ссылки». Свойства нельзя изменить.

Управление полным путем

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

Управление GUID

Отображает GUID для элемента управления ActiveX.

Управление версией

Отображает версию указанного элемента управления ActiveX.

Введите имя библиотеки

Отображает имя указанной библиотеки типов.

Инструмент "Обертка"

Отображает инструмент, используемый для создания сборки взаимодействия из указанной библиотеки COM или элемента управления ActiveX.

Свойства ссылки на сборку (C++/CLI)

Относительный путь

Отображает относительный путь от каталога проекта до указанной сборки.

Создать свойства

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

Копировать локально

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

Копировать локальные вспомогательные сборки (C++/CLI)

Указывает, следует ли автоматически копировать вспомогательные сборки указанной сборки в целевое расположение во время сборки. Используется только в том случае, если для параметра Копировать локальное задано значение true .

Вывод эталонной сборки

Указывает, что эта сборка используется в процессе сборки. Если true , сборка используется в командной строке компилятора во время сборки.

Свойства ссылок между проектами

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

Связать зависимости библиотеки

Если для этого свойства установлено значение True, система проектов связывает файлы LIB, созданные независимым проектом, с зависимым проектом. Как правило, вы указываете True.

Идентификатор проекта

Уникально идентифицирует независимый проект. Значением свойства является внутренний системный GUID, который нельзя изменить.

Использовать входные данные зависимостей библиотеки

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

Имя сборки

Отображает имя сборки для указанной сборки.

Культура

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

Описание

Отображает описание выбранной ссылки.

Полный путь

Отображает путь к каталогу указанной сборки.

Идентификация

Ярлык

Отображает метку ссылки.

Имя

Отображает название ссылки.

Токен открытого ключа

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

Сильное имя

true, если указанная сборка имеет строгое имя. Сборка со строгим именем имеет уникальную версию.

Чтобы Visual Studio могла найти заголовочные файлы PixeLINK API и библиотеку импорта, рекомендуется использовать переменную среды PIXELINK_SDK_ROOT, созданную при установке SDK.

Добавление каталога включения

Перейдите к диалоговому окну Страницы свойств проекта Visual Studio (в меню "Проект" выберите "Свойства" или щелкните проект правой кнопкой мыши в обозревателе решений). Выберите «Свойства конфигурации», «C/C++», «Общие», а затем добавьте $(PIXELINK_SDK_ROOT)\include в поле «Дополнительные включаемые каталоги».

< бр />

В приведенном выше примере мы добавили каталог ко всем конфигурациям нашего проекта ('getcamerafeature').

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

и компилятор найдет его в пути включения.

Добавление библиотеки импорта

При связывании вам нужно будет связать библиотеку импорта DLL API, PxLApi40.lib, чтобы проект знал, как использовать PxLApi40.dll.

Перейдите к диалоговому окну "Страницы свойств проекта", "Свойства конфигурации", "Компоновщик", "Общие", добавьте $(PIXELINK_SDK_ROOT)\lib в дополнительные каталоги библиотек.

< бр />

В приведенном выше примере мы добавили каталог библиотеки во все конфигурации нашего проекта ('getcamerafeature').

Теперь, когда этот каталог добавлен, вы должны указать, что хотите подключить библиотеку импорта.

Перейдите к диалоговому окну "Страницы свойств проекта", "Свойства конфигурации", "Компоновщик", "Ввод", добавьте PxLApi40.lib в список дополнительных зависимостей, с которыми нужно связать.


Примечание по настройке

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

Вы также можете просмотреть примеры кода C и C++, включенные в SDK, чтобы узнать, как настроены эти проекты. Если у вас возникнут дополнительные вопросы или проблемы с этим, обратитесь в службу поддержки Pixelink.

В этом руководстве вы настроите 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 )).

Расширение C/C++< бр />

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

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

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

Инструменты сборки для Visual Скачать студию

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

Рабочая нагрузка инструментов сборки Cpp

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

Проверка установки cl.exe

Если командная строка разработчика использует расположение 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:

Завершение оператора IntelliSense

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

Сборка helloworld.cpp

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

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

Раскрывающийся список сборки задач C++

Это создаст файл 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++ вывод выглядит примерно так:

Вывод сборки C++ в терминал

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

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

Hello World в терминале PowerShell

Вы можете запустить 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 для сборки и отладки активного файла.

Отладка C++ раскрывающийся список настроек

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

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

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

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

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

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

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

Начальная точка останова
< /p>

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

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

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

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

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

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

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

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

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

Точка останова в стандарте gcc заголовок библиотеки

Чтобы вернуться к собственному коду, один из способов – продолжать нажимать кнопку "Перейти". Другой способ — установить точку останова в вашем коде, переключившись на вкладку 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, либо задачу необходимо настроить для запуска вне командной строки разработчика.

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