Руководство. Установка и использование пакетов с MSBuild в Visual Studio
В этом руководстве показано, как создать программу C++ Hello World, которая использует библиотеку fmt
с MSBuild, vcpkg и Visual Studio. Вы установите зависимости, настройте, создадите и запустите простое приложение.
Необходимые условия:
- Visual Studio с рабочей нагрузкой разработки C++
- Git
- Windows 7 или более поздней версии
1. Настройка vcpkg
Клонирование репозитория
Первым шагом является клонирование репозитория vcpkg из GitHub. Репозиторий содержит скрипты для получения исполняемого файла vcpkg и реестра курируемых библиотек с открытым исходным кодом, поддерживаемых сообществом vcpkg. Для этого выполните следующую команду:
git clone https://github.com/microsoft/vcpkg.git
Управляемый реестр vcpkg — это набор из более чем 2000 библиотек с открытым исходным кодом. Эти библиотеки были проверены конвейерами непрерывной интеграции vcpkg для совместной работы. Хотя репозиторий vcpkg не содержит исходный код для этих библиотек, он содержит рецепты и метаданные для сборки и установки их в систему.
Запуск скрипта начальной загрузки
Теперь, когда вы клонировали репозиторий vcpkg, перейдите к
vcpkg
каталогу и выполните скрипт начальной загрузки:cd vcpkg && bootstrap-vcpkg.bat
cd vcpkg; .\bootstrap-vcpkg.bat
cd vcpkg && ./bootstrap-vcpkg.sh
Скрипт начальной загрузки выполняет необходимые проверка и загружает исполняемый файл vcpkg.
Вот и все! vcpkg настроен и готов к использованию.
- Интеграция с Visual Studio MSBuild
Следующим шагом является настройка пользовательского экземпляра vcpkg, чтобы MSBuild мог найти его:
.\vcpkg.exe integrate install
Он выводит следующие данные:
All MSBuild C++ projects can now #include any installed libraries. Linking will be handled automatically. Installing new libraries will make them instantly available.
2. Настройка проекта Visual Studio
Создание проекта Visual Studio
- Создание проекта в Visual Studio с помощью шаблона "Консольное приложение"
Снимок экрана: пользовательский интерфейс Visual Studio для создания нового консольного приложения C++ Windows в Visual Studio
- Присвойте проекту имя helloworld
- Установите флажок "Разместить решение и проект в одном каталоге".
- Нажмите кнопку "Создать"
Снимок экрана: пользовательский интерфейс Visual Studio для именования проекта MSBuild C++ и нажатия кнопки "Создать".
Настройте переменную среды
VCPKG_ROOT
.Откройте встроенное окно PowerShell разработчика в Visual Studio.
Снимок экрана: пользовательский интерфейс Visual Studio для встроенного окна разработчика PowerShell
Выполните следующие команды:
$env:VCPKG_ROOT = "C:\path\to\vcpkg" $env:PATH = "$env:VCPKG_ROOT;$env:PATH"
Снимок экрана: пользовательский интерфейс Visual Studio для встроенного окна разработчика PowerShell, в котором показано, как настроить VCPKG_ROOT и добавить его в PATH.
Примечание.
Настройка переменных среды таким образом влияет только на текущий сеанс терминала. Чтобы сделать эти изменения постоянными во всех сеансах, задайте их на панели переменных среды Windows.
Откройте командную строку разработчика в Visual Studio.
Снимок экрана: пользовательский интерфейс Visual Studio для командной строки разработчика.
Выполните следующие команды:
set VCPKG_ROOT="C:\path\to\vcpkg" set PATH=%VCPKG_ROOT%;%PATH%
Снимок экрана: командная строка разработчика Visual Studio, показывающая, как настроить VCPKG_ROOT и добавить ее в PATH.
Примечание.
Настройка переменных среды таким образом влияет только на текущий сеанс терминала. Чтобы сделать эти изменения постоянными во всех сеансах, задайте их на панели переменных среды Windows.
Параметр
VCPKG_ROOT
помогает Visual Studio найти экземпляр vcpkg. Добавьте его, чтобыPATH
вы могли выполнять команды vcpkg непосредственно из оболочки.Создайте файл манифеста и добавьте зависимости.
Выполните следующую команду, чтобы создать файл манифеста vcpkg (
vcpkg.json
):vcpkg new --application
Команда
vcpkg new
добавляетvcpkg.json
файл иvcpkg-configuration.json
файл в каталог проекта.fmt
Добавьте пакет в качестве зависимости:vcpkg add port fmt
Теперь должно содержаться следующее
vcpkg.json
:{ "dependencies": [ "fmt" ] }
Это файл манифеста. vcpkg считывает файл манифеста, чтобы узнать, какие зависимости необходимо установить и интегрировать с MSBuild, чтобы предоставить зависимости, необходимые для проекта.
vcpkg-configuration.json
Созданный файл представляет базовый план, который устанавливает минимальные ограничения версий для зависимостей проекта. Изменение этого файла выходит за рамки область этого руководства. Хотя это не применимо в этом руководстве, рекомендуется сохранитьvcpkg-configuration.json
файл под управлением версиями, чтобы обеспечить согласованность версий в разных средах разработки.
3. Настройка файлов проекта
Измените файл helloworld.cpp
.
Замените содержимое helloworld.cpp
следующим кодом:
#include <fmt/core.h>
int main()
{
fmt::print("Hello World!\n");
return 0;
}
Этот исходный <fmt/core.h>
файл содержит заголовок, который является частью библиотеки fmt
. Функция main()
вызывает fmt::print()
сообщение "Hello World!" в консоль.
Примечание.
При первом запуске MSBuilds в проекте будут возникать ошибки. Создайте проект для получения зависимостей vcpkg, чтобы удалить их.
4. Включение режима манифеста
Перейдите на страницы свойств проекта. В разделе "Свойства конфигурации" vcpkg установите значение Use vcpkg manifest
Yes
.> MSBuild проверка, задано ли это свойство перед установкой зависимостей из манифеста vcpkg.
Снимок экрана: включение режима манифеста vcpkg в свойствах проекта Visual Studio
Другие параметры, такие как тройники, заполняются значениями vcpkg по умолчанию, обнаруженными в проекте, и будут полезны при настройке проекта.
5. Сборка и запуск проекта
Выполните сборку проекта.
Нажмите,
Ctrl+Shift+B
чтобы создать проект в Visual Studio и получить зависимости vcpkg.
Если MSBuild обнаруживает vcpkg.json
в проекте файл и манифесты, MSBuild устанавливает зависимости манифеста в качестве шага предварительной сборки. Зависимости устанавливаются в каталог в выходном vcpkg_installed
каталоге сборки проекта. Любые заголовки, установленные библиотекой, можно использовать напрямую, и все установленные библиотеки будут автоматически связаны.
Примечание.
vcpkg install
создает конфигурации отладки и выпуска библиотеки. Чтобы создать только библиотеки выпуска, добавьте VCPKG_RELEASE_ONLY
его в триплет.
Запустите приложение.
Наконец, запустите исполняемый файл:
Снимок экрана: пользовательский интерфейс Visual Studio для запуска исполняемого файла.
Вы должны увидеть выходные данные:
Снимок экрана: выходные данные программы : "Hello World!"
Следующие шаги
Дополнительные сведения об vcpkg.json
интеграции с MSBuild и vcpkg см. в нашей справочной документации:
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по