Esercitazione: Installare e usare pacchetti con MSBuild in Visual Studio
Questa esercitazione illustra come creare un programma "Hello World" C++ che usa la fmt
libreria con MSBuild, vcpkg e Visual Studio. Si installeranno le dipendenze, si configureranno il progetto, la compilazione e si eseguirà una semplice applicazione.
Prerequisiti
- Carico di lavoro sviluppo di Visual Studio con C++
- Git
- Windows 7 o versione successiva
1 - Configurare vcpkg
Clonare il repository
Il primo passaggio consiste nel clonare il repository vcpkg da GitHub. Il repository contiene script per acquisire l'eseguibile vcpkg e un registro di librerie open source curate gestite dalla community vcpkg. A tale scopo, eseguire:
git clone https://github.com/microsoft/vcpkg.git
Il registro curato vcpkg è un set di oltre 2.000 librerie open source. Queste librerie sono state convalidate dalle pipeline di integrazione continua di vcpkg per collaborare. Anche se il repository vcpkg non contiene il codice sorgente per queste librerie, contiene ricette e metadati per compilarli e installarli nel sistema.
Eseguire lo script bootstrap
Dopo aver clonato il repository vcpkg, passare alla
vcpkg
directory ed eseguire lo script bootstrap:cd vcpkg && bootstrap-vcpkg.bat
cd vcpkg; .\bootstrap-vcpkg.bat
cd vcpkg && ./bootstrap-vcpkg.sh
Lo script bootstrap esegue i controlli dei prerequisiti e scarica il file eseguibile vcpkg.
Ecco fatto! vcpkg è configurato e pronto per l'uso.
Integrazione con Visual Studio MSBuild
Il passaggio successivo consiste nell'abilitare l'integrazione vcpkg a livello di utente, in modo che MSBuild sia consapevole del percorso di installazione di vcpkg.
Run
.\vcpkg.exe integrate install
Verrà restituito questo output:
All MSBuild C++ projects can now #include any installed libraries. Linking will be handled automatically. Installing new libraries will make them instantly available.
2 - Configurare il progetto di Visual Studio
Creare il progetto di Visual Studio
Creare un nuovo progetto in Visual Studio usando il modello "Applicazione console"
Screenshot dell'interfaccia utente di Visual Studio per mostrare come creare una nuova applicazione console Windows C++ in Visual Studio
Assegnare al progetto il nome "helloworld"
Selezionare la casella "Inserisci soluzione e progetto nella stessa directory".
Fare clic sul pulsante "Crea"
Screenshot dell'interfaccia utente di Visual Studio per la denominazione del progetto MSBuild C++ e facendo clic sul pulsante "Crea".
Configurare la variabile di ambiente
VCPKG_ROOT
.Nota
L'impostazione delle variabili di ambiente in questo modo influisce solo sulla sessione del terminale corrente. Per rendere permanenti queste modifiche in tutte le sessioni, impostarle tramite il pannello Variabili di ambiente del sistema Windows.
Aprire la finestra predefinita di PowerShell per sviluppatori in Visual Studio.
Screenshot dell'interfaccia utente di Visual Studio per la finestra di sviluppo predefinita di PowerShell
Eseguire i comandi seguenti:
$env:VCPKG_ROOT = "C:\path\to\vcpkg" $env:PATH = "$env:VCPKG_ROOT;$env:PATH"
Screenshot dell'interfaccia utente di Visual Studio per la finestra predefinita per sviluppatori di PowerShell che mostra come configurare VCPKG_ROOT e aggiungerla a PATH.
Aprire il prompt dei comandi per gli sviluppatori in Visual Studio.
Screenshot dell'interfaccia utente di Visual Studio per il prompt dei comandi per gli sviluppatori.
Eseguire i comandi seguenti:
set "VCPKG_ROOT=C:\path\to\vcpkg" set PATH=%VCPKG_ROOT%;%PATH%
Screenshot del prompt dei comandi per sviluppatori di Visual Studio che mostra come configurare VCPKG_ROOT e aggiungerlo a PATH.
L'impostazione
VCPKG_ROOT
consente a Visual Studio di individuare l'istanza di vcpkg. Aggiungendolo perPATH
assicurarsi di poter eseguire comandi vcpkg direttamente dalla shell.Generare un file manifesto e aggiungere dipendenze.
Eseguire il comando seguente per creare un file manifesto vcpkg (
vcpkg.json
):vcpkg new --application
Il
vcpkg new
comando aggiunge unvcpkg.json
file e unvcpkg-configuration.json
file nella directory del progetto.Aggiungere il
fmt
pacchetto come dipendenza:vcpkg add port fmt
Il
vcpkg.json
file dovrebbe ora contenere:{ "dependencies": [ "fmt" ] }
Questo è il file manifesto. vcpkg legge il file manifesto per informazioni sulle dipendenze da installare e integrare con MSBuild per fornire le dipendenze richieste dal progetto.
Il file generato
vcpkg-configuration.json
introduce una baseline che inserisce vincoli di versione minimi sulle dipendenze del progetto. La modifica di questo file non rientra nell'ambito di questa esercitazione. Anche se non applicabile in questa esercitazione, è consigliabile mantenere il file sotto il controllo delvcpkg-configuration.json
codice sorgente per garantire la coerenza delle versioni in ambienti di sviluppo diversi.
3 - Configurare i file di progetto
Modificare il file
helloworld.cpp
.Sostituire il contenuto di
helloworld.cpp
con il codice seguente:#include <fmt/core.h> int main() { fmt::print("Hello World!\n"); return 0; }
Questo file di origine include l'intestazione
<fmt/core.h>
che fa parte dellafmt
libreria. Lamain()
funzione chiamafmt::print()
per inviare il messaggio "Hello World!" alla console.Nota
L'editor di codice può sottolineare le righe che
fmt
fanno riferimento a file e simboli come errori. È necessario compilare il progetto una volta per vcpkg per installare le dipendenze e fare in modo che gli strumenti di completamento automatico valutino correttamente il codice.
4 - Abilitare la modalità manifesto
Passare alla pagina Proprietà progetto.
Usando lo spostamento di menu nella parte superiore, scegliere Proprietà progetto>. Verrà aperta una nuova finestra.
Passare a Proprietà di configurazione vcpkg e impostare su
Use vcpkg Manifest
Yes
.>Screenshot dell'abilitazione della modalità manifesto vcpkg nelle proprietà del progetto di Visual Studio
Altre impostazioni, ad esempio triplette, vengono compilate con i valori predefiniti rilevati da vcpkg dal progetto e saranno utili durante la configurazione del progetto.
5 - Compilare ed eseguire il progetto
Compilare il progetto.
Premere
Ctrl+Shift+B
per compilare il progetto in Visual Studio e acquisire le dipendenze vcpkg.Se MSBuild rileva un
vcpkg.json
file e manifesti sono abilitati nel progetto, MSBuild installa le dipendenze del manifesto come passaggio di pre-compilazione. Le dipendenze vengono installate in unavcpkg_installed
directory nella directory di output di compilazione del progetto. Tutte le intestazioni installate dalla libreria possono essere usate direttamente e tutte le librerie installate verranno collegate automaticamente.Eseguire l'applicazione.
Infine, eseguire il file eseguibile:
Screenshot dell'interfaccia utente di Visual Studio per l'esecuzione del file eseguibile.
Verrà visualizzato l'output:
Screenshot degli output del programma - "Hello World!"
Passaggi successivi
Per altre informazioni sull'integrazione vcpkg.json
di MSBuild vcpkg, vedere la documentazione di riferimento: