Tutorial: Instalar e usar pacotes com o MSBuild no Visual Studio
Este tutorial mostra como criar um programa C++ "Hello World" que usa a biblioteca com MSBuild fmt
, vcpkg e Visual Studio. Você instalará dependências, configurará o projeto, compilará e executará um aplicativo simples.
Pré-requisitos
- Visual Studio com carga de trabalho de desenvolvimento C++
- Git
- Windows 7 ou mais recente
1 - Configurar o vcpkg
Clonar o repositório
A primeira etapa é 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 selecionadas 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 trabalharem juntas. 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.
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 de bootstrap executa verificações de pré-requisitos e baixa o executável vcpkg.
É isso! vcpkg está configurado e pronto para uso.
Integrar com o MSBuild do Visual Studio
A próxima etapa é habilitar a integração do vcpkg em todo o usuário, isso torna o MSBuild ciente do caminho de instalação do vcpkg.
Executar
.\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
Criar o projeto do Visual Studio
Criar um novo projeto no Visual Studio usando o modelo "Aplicativo de Console"
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 "Colocar solução e projeto no mesmo diretório".
Clique no botão "Criar"
Captura de tela da interface do usuário do Visual Studio para nomear seu projeto MSBuild C++ e clicar no botão "criar".
Configurar as
VCPKG_ROOT
variáveis de ambiente.Observação
Definir 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 a janela interna do PowerShell do desenvolvedor no Visual Studio.
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"
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á-lo ao PATH.
Abra o prompt de comando do desenvolvedor no 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%
Captura de tela do prompt de comando do desenvolvedor do Visual Studio mostrando como configurar VCPKG_ROOT e adicioná-lo ao PATH.
A configuração
VCPKG_ROOT
ajuda o Visual Studio a localizar sua instância vcpkg. Adicioná-lo garantePATH
que você possa executar comandos vcpkg diretamente do shell.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 umvcpkg.json
arquivo e umvcpkg-configuration.json
arquivo no diretório do projeto.Adicione o
fmt
pacote como uma dependência:vcpkg add port fmt
Agora você
vcpkg.json
deve conter:{ "dependencies": [ "fmt" ] }
Este é o seu arquivo de manifesto. O vcpkg lê o arquivo de manifesto para saber quais dependências instalar e se integra ao 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 avcpkg-configuration.json
consistência da versão em diferentes ambientes de desenvolvimento.
3 - Configure 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; }
Este arquivo de origem inclui o
<fmt/core.h>
cabeçalho que faz parte dafmt
biblioteca. Amain()
função chamafmt::print()
para gerar a mensagem "Hello World!" para o console.Observação
O editor de código pode sublinhar as linhas que fazem
fmt
referência a arquivos e símbolos como erros. Você precisa construir seu projeto uma vez para que o vcpkg instale as dependências e faça com que as ferramentas de preenchimento automático avaliem o código corretamente.
4 - Ativar o modo de manifesto
Navegue até a página Propriedades do projeto.
Usando a navegação do menu na parte superior, escolha Propriedades do projeto>. Uma nova janela será aberta.
Navegue até Propriedades de > configuração vcpkg e defina
Use vcpkg Manifest
comoYes
.Captura de tela da habilitação do modo de manifesto vcpkg nas Propriedades do Projeto do Visual Studio
Outras configurações, como trigêmeos, são preenchidas com valores padrão que o vcpkg detecta do seu projeto e serão úteis ao configurar seu projeto.
5 - Construa e execute o projeto
Compile o projeto.
Pressione
Ctrl+Shift+B
para compilar o projeto no Visual Studio e adquirir as dependências do vcpkg.Se o MSBuild detectar um
vcpkg.json
arquivo e os 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 umvcpkg_installed
diretório no diretório de saída de build do projeto. Todos os cabeçalhos instalados pela biblioteca podem ser usados diretamente e todas as bibliotecas instaladas serão vinculadas automaticamente.Execute o aplicativo.
Por fim, execute 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:
Captura de tela das saídas do programa - "Hello World!"
Próximas etapas
Para saber mais sobre vcpkg.json
a integração do MSBuild com o vcpkg, consulte nossa documentação de referência: