Руководство. Установка и использование пакетов с 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.
Выполнить
.\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
.Примечание.
Настройка переменных среды таким образом влияет только на текущий сеанс терминала. Чтобы сделать эти изменения постоянными во всех сеансах, задайте их на панели переменных среды Windows.
Откройте встроенное окно 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.
Откройте командную строку разработчика в Visual Studio.
Снимок экрана: пользовательский интерфейс Visual Studio для командной строки разработчика.
Выполните следующие команды:
set "VCPKG_ROOT=C:\path\to\vcpkg" set PATH=%VCPKG_ROOT%;%PATH%
Снимок экрана: командная строка разработчика Visual Studio, показывающая, как настроить VCPKG_ROOT и добавить ее в PATH.
Параметр
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!" в консоль.Примечание.
Редактор кода может подчеркнуть строки, ссылающиеся
fmt
на файлы и символы в виде ошибок. Необходимо создать проект один раз для vcpkg, чтобы установить зависимости и сделать средства автозавершения правильной оценкой кода.
4. Включение режима манифеста
Перейдите на страницу свойств проекта.
В верхней части меню выберите "Свойства проекта>". Открывается новое окно.
Перейдите к свойству > конфигурации vcpkg и задайте значение
Use vcpkg Manifest
Yes
.Снимок экрана: включение режима манифеста vcpkg в свойствах проекта Visual Studio
Другие параметры, такие как тройники, заполняются значениями vcpkg по умолчанию, обнаруженными в проекте, и будут полезны при настройке проекта.
5. Сборка и запуск проекта
Выполните сборку проекта.
Нажмите,
Ctrl+Shift+B
чтобы создать проект в Visual Studio и получить зависимости vcpkg.Если MSBuild обнаруживает
vcpkg.json
в проекте файл и манифесты, MSBuild устанавливает зависимости манифеста в качестве шага предварительной сборки. Зависимости устанавливаются в каталог в выходномvcpkg_installed
каталоге сборки проекта. Любые заголовки, установленные библиотекой, можно использовать напрямую, и все установленные библиотеки будут автоматически связаны.Запустите приложение.
Наконец, запустите исполняемый файл:
Снимок экрана: пользовательский интерфейс Visual Studio для запуска исполняемого файла.
Вы должны увидеть выходные данные:
Снимок экрана: выходные данные программы : "Hello World!"
Следующие шаги
Дополнительные сведения об vcpkg.json
интеграции с MSBuild и vcpkg см. в нашей справочной документации: