Руководство. Установка и использование пакетов с MSBuild в Visual Studio

В этом руководстве показано, как создать программу C++ Hello World, которая использует библиотеку fmt с MSBuild, vcpkg и Visual Studio. Вы установите зависимости, настройте, создадите и запустите простое приложение.

Необходимые условия:

  • Visual Studio с рабочей нагрузкой разработки C++
  • Git
  • Windows 7 или более поздней версии

1. Настройка vcpkg

  1. Клонирование репозитория

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

    git clone https://github.com/microsoft/vcpkg.git
    

    Управляемый реестр vcpkg — это набор из более чем 2000 библиотек с открытым исходным кодом. Эти библиотеки были проверены конвейерами непрерывной интеграции vcpkg для совместной работы. Хотя репозиторий vcpkg не содержит исходный код для этих библиотек, он содержит рецепты и метаданные для сборки и установки их в систему.

  2. Запуск скрипта начальной загрузки

    Теперь, когда вы клонировали репозиторий vcpkg, перейдите к vcpkg каталогу и выполните скрипт начальной загрузки:

    cd vcpkg && bootstrap-vcpkg.bat
    
    cd vcpkg; .\bootstrap-vcpkg.bat
    
    cd vcpkg && ./bootstrap-vcpkg.sh
    

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

    Вот и все! vcpkg настроен и готов к использованию.

  1. Интеграция с 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

  1. Создание проекта Visual Studio

    • Создание проекта в Visual Studio с помощью шаблона "Консольное приложение"

    создание консольного приложения C++ для Windows

    Снимок экрана: пользовательский интерфейс Visual Studio для создания нового консольного приложения C++ Windows в Visual Studio

    • Присвойте проекту имя helloworld
    • Установите флажок "Разместить решение и проект в одном каталоге".
    • Нажмите кнопку "Создать"

    именование проекта MSBuild C++

    Снимок экрана: пользовательский интерфейс Visual Studio для именования проекта MSBuild C++ и нажатия кнопки "Создать".

  2. Настройте переменную среды VCPKG_ROOT.

    Откройте встроенное окно PowerShell разработчика в Visual Studio.

    открытие встроенной powershell для разработчика

    Снимок экрана: пользовательский интерфейс 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.

    Снимок экрана: пользовательский интерфейс 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 непосредственно из оболочки.

  3. Создайте файл манифеста и добавьте зависимости.

    Выполните следующую команду, чтобы создать файл манифеста 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 manifestYes.> MSBuild проверка, задано ли это свойство перед установкой зависимостей из манифеста vcpkg.

Включение режима манифеста в свойствах проекта

Снимок экрана: включение режима манифеста vcpkg в свойствах проекта Visual Studio

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

5. Сборка и запуск проекта

  1. Выполните сборку проекта.

    Нажмите, Ctrl+Shift+B чтобы создать проект в Visual Studio и получить зависимости vcpkg.

Если MSBuild обнаруживает vcpkg.json в проекте файл и манифесты, MSBuild устанавливает зависимости манифеста в качестве шага предварительной сборки. Зависимости устанавливаются в каталог в выходном vcpkg_installed каталоге сборки проекта. Любые заголовки, установленные библиотекой, можно использовать напрямую, и все установленные библиотеки будут автоматически связаны.

Примечание.

vcpkg install создает конфигурации отладки и выпуска библиотеки. Чтобы создать только библиотеки выпуска, добавьте VCPKG_RELEASE_ONLY его в триплет.

  1. Запустите приложение.

    Наконец, запустите исполняемый файл:

    Выполнение исполняемого файла

    Снимок экрана: пользовательский интерфейс Visual Studio для запуска исполняемого файла.

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

    Выходные данные программы

    Снимок экрана: выходные данные программы : "Hello World!"

Следующие шаги

Дополнительные сведения об vcpkg.json интеграции с MSBuild и vcpkg см. в нашей справочной документации: