Tutorial: Instalar e usar pacotes com o MSBuild no Visual Studio

Este tutorial mostra como criar um programa C++ "Hello World" que usa a fmt biblioteca com MSBuild, vcpkg e Visual Studio. Você instalará dependências, configurará, compilará e executará um aplicativo simples.

Pré-requisitos:

1 – Configurar vcpkg

  1. Clonar o repositório

    O primeiro passo é clonar o repositório vcpkg do GitHub. O repositório contém scripts para adquirir o executável vcpkg e um registro de bibliotecas de código aberto com curadoria mantidas pela comunidade vcpkg. Para fazer isso, execute:

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

    O registro com curadoria vcpkg é um conjunto de mais de 2.000 bibliotecas de código aberto. Essas bibliotecas foram validadas pelos pipelines de integração contínua do vcpkg para trabalhar em conjunto. Embora o repositório vcpkg não contenha o código-fonte dessas bibliotecas, ele contém receitas e metadados para compilá-los e instalá-los em seu sistema.

  2. Executar o script de bootstrap

    Agora que você clonou o repositório vcpkg, navegue até o vcpkg diretório e execute o script de bootstrap:

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

    O script bootstrap executa verificações de pré-requisitos e baixa o executável vcpkg.

    É isso! VCPKG está configurado e pronto para uso.

  1. Integrar com o Visual Studio MSBuild

A próxima etapa é definir a instância de todo o usuário do vcpkg para que o MSBuild possa encontrá-la:

.\vcpkg.exe integrate install

Isso gera a saída:

All MSBuild C++ projects can now #include any installed libraries. Linking will be handled automatically. Installing new libraries will make them instantly available.

2 - Configurar o projeto do Visual Studio

  1. Criar o projeto do Visual Studio

    • Criar um novo projeto no Visual Studio usando o modelo "Aplicativo de console"

    criar um novo aplicativo de console do Windows C++

    Captura de tela da interface do usuário do Visual Studio para mostrar como criar um novo aplicativo de console do Windows C++ no Visual Studio

    • Nomeie seu projeto como "helloworld"
    • Marque a caixa para "Colocar solução e projeto no mesmo diretório".
    • Clique no botão "Criar"

    nomeando seu projeto MSBuild C++

    Captura de tela da interface do usuário do Visual Studio para nomear seu projeto MSBuild C++ e clicar no botão "criar".

  2. Configurar as VCPKG_ROOT variáveis de ambiente.

    Abra a janela interna do Developer PowerShell no Visual Studio.

    Abrindo o PowerShell interno do desenvolvedor

    Captura de tela da interface do usuário do Visual Studio para a janela interna do desenvolvedor do PowerShell

    Execute os comandos a seguir:

    $env:VCPKG_ROOT = "C:\path\to\vcpkg"
    $env:PATH = "$env:VCPKG_ROOT;$env:PATH"
    

    Configurando suas variáveis de ambiente

    Captura de tela da interface do usuário do Visual Studio para a janela interna do desenvolvedor do PowerShell mostrando como configurar VCPKG_ROOT e adicioná-la ao PATH.

    Observação

    A configuração de variáveis de ambiente dessa maneira afeta apenas a sessão de terminal atual. Para tornar essas alterações permanentes em todas as sessões, defina-as por meio do painel Variáveis de Ambiente do Sistema do Windows.

    Abra o prompt de comando do desenvolvedor no Visual Studio.

    abrindo o prompt de comando do desenvolvedor do Visual Studio.

    Captura de tela da interface do usuário do Visual Studio para o prompt de comando do desenvolvedor.

    Execute os comandos a seguir:

    set VCPKG_ROOT="C:\path\to\vcpkg"
    set PATH=%VCPKG_ROOT%;%PATH%
    

    Configurando suas variáveis de ambiente

    Captura de tela do prompt de comando do desenvolvedor do Visual Studio mostrando como configurar VCPKG_ROOT e adicioná-lo ao PATH.

    Observação

    A configuração de variáveis de ambiente dessa maneira afeta apenas a sessão de terminal atual. Para tornar essas alterações permanentes em todas as sessões, defina-as por meio do painel Variáveis de Ambiente do Sistema do Windows.

    A configuração VCPKG_ROOT ajuda o Visual Studio a localizar sua instância vcpkg. Adicioná-lo garante PATH que você possa executar comandos vcpkg diretamente do shell.

  3. Gere um arquivo de manifesto e adicione dependências.

    Execute o seguinte comando para criar um arquivo de manifesto vcpkg (vcpkg.json):

    vcpkg new --application
    

    O vcpkg new comando adiciona um vcpkg.json arquivo e um vcpkg-configuration.json arquivo no diretório do projeto.

    Adicione o fmt pacote como uma dependência:

    vcpkg add port fmt
    

    Seu vcpkg.json agora deve conter:

    {
        "dependencies": [
            "fmt"
        ]
    }
    

    Este é o seu arquivo de manifesto. vcpkg lê o arquivo de manifesto para saber quais dependências instalar e integra com o MSBuild para fornecer as dependências exigidas pelo seu projeto.

    O arquivo gerado vcpkg-configuration.json introduz uma linha de base que coloca restrições mínimas de versão nas dependências do projeto. Modificar esse arquivo está além do escopo deste tutorial. Embora não seja aplicável neste tutorial, é uma boa prática manter o arquivo sob controle do código-fonte para garantir a vcpkg-configuration.json consistência da versão em diferentes ambientes de desenvolvimento.

3 - Configurar os arquivos do projeto

Modifique o arquivo helloworld.cpp.

Substitua o conteúdo de helloworld.cpp pelo seguinte código:

#include <fmt/core.h>

int main()
{
    fmt::print("Hello World!\n");
    return 0;
}

Esse arquivo de origem inclui o <fmt/core.h> cabeçalho que faz parte da fmt biblioteca. A main() função chama fmt::print() para enviar a mensagem "Hello World!" para o console.

Observação

Haverá squiggles de erro em seu projeto quando o MSBuilds o fizer pela primeira vez. Crie o projeto para adquirir dependências vcpkg para removê-las.

4 - Ativar o modo manifesto

Navegue até as páginas Propriedades do projeto do seu projeto. Em Propriedades de > configuração vcpkg, defina Use vcpkg manifest como Yes. O MSBuild verifica se essa propriedade está definida antes de instalar quaisquer dependências do manifesto vcpkg.

Habilitar o modo de manifesto nas propriedades do projeto

Captura de tela da habilitação do modo de manifesto vcpkg nas Propriedades do Projeto Visual Studio

Outras configurações, como trigêmeos, são preenchidas com valores padrão que vcpkg detecta do seu projeto e serão úteis ao configurar seu projeto.

5 - Construir e executar o projeto

  1. Compile o projeto.

    Pressione Ctrl+Shift+B para criar o projeto no Visual Studio e adquirir as dependências vcpkg.

Se o MSBuild detectar um vcpkg.json arquivo e manifestos estiverem habilitados em seu projeto, o MSBuild instalará as dependências do manifesto como uma etapa de pré-compilação. As dependências são instaladas em um vcpkg_installed diretório no diretório de saída de compilação do projeto. Todos os cabeçalhos instalados pela biblioteca podem ser usados diretamente, e todas as bibliotecas instaladas serão vinculadas automaticamente.

Observação

vcpkg install cria as configurações de depuração e versão para uma biblioteca. Para criar apenas bibliotecas de versão, adicione VCPKG_RELEASE_ONLY ao seu triplete.

  1. Execute o aplicativo.

    Finalmente, execute o executável:

    Executando o executável

    Captura de tela da interface do usuário do Visual Studio para executar o executável.

    Você deverá ver a saída:

    Saída do programa

    Screenshot das saídas do programa - "Hello World!"

Próximas etapas

Para saber mais sobre vcpkg.json a integração do MSBuild com vcpkg, consulte nossa documentação de referência: