C++ Academy · Lezione

Usare vcpkg e Conan per le dipendenze

Scarichi librerie esterne con vcpkg e Conan e le integri con CMake

Lezione 3 di 414 passaggi

Usare vcpkg e Conan per le dipendenze è una lezione C++ Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C++ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C++ Academy include 4 lezioni in totale.

Perché un gestore di pacchetti?

Scaricare e compilare manualmente le dipendenze C++ è laborioso. I gestori di pacchetti automatizzano il recupero, la compilazione e la configurazione delle librerie di terze parti.

Le due opzioni principali

Due importanti gestori di pacchetti C++:

  • vcpkg — supportato da Microsoft, solo da sorgente, si integra con CMake
  • Conan — open source, supporta i binari ed è più flessibile

Configurare vcpkg

Cloni il repository di vcpkg ed esegua il bootstrap. Imposti il file toolchain nella chiamata a CMake.

git clone https://github.com/microsoft/vcpkg.git
cd vcpkg && ./bootstrap-vcpkg.sh
./vcpkg install fmt spdlog

Collegare vcpkg in CMake

Passi il file toolchain quando configura CMake. find_package funzionerà quindi normalmente.

cmake -B build -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake

Utilizzare vcpkg.json (modalità manifest)

Dichiari le dipendenze in un file vcpkg.json. vcpkg le installa per ogni progetto.

{
  "name": "my-app",
  "version-string": "0.1.0",
  "dependencies": ["fmt", "spdlog", "nlohmann-json"]
}

Configurare Conan

Installi Conan con pip; crei un conanfile.txt o un conanfile.py.

pip install conan
conan profile detect
conan install . --build=missing

Esempio di conanfile.txt

Specifichi le dipendenze, i generatori e le opzioni.

[requires]
fmt/10.1.1
spdlog/1.12.0

[generators]
CMakeDeps
CMakeToolchain

Integrare Conan con CMake

Conan genera file CMake quando si esegue install. Li utilizzi tramite il file toolchain oppure includendo i file CMake generati.

cmake -B build -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake

FetchContent: alternativa nativa di CMake

Per i casi semplici, CMake offre FetchContent, integrato nel sistema, per scaricare e aggiungere dipendenze durante la configurazione.

include(FetchContent)
FetchContent_Declare(fmt
    GIT_REPOSITORY https://github.com/fmtlib/fmt.git
    GIT_TAG 10.1.1
)
FetchContent_MakeAvailable(fmt)
target_link_libraries(myapp PRIVATE fmt::fmt)

Scegliere uno strumento

Guida rapida:

  • Progetti piccoli → FetchContent
  • Progetti più grandi, dipendenze semplici → vcpkg
  • Build complesse, cache dei binari → Conan

Build riproducibili

Blocchi le versioni specifiche nel manifest. I file di lock, come conan.lock, registrano le versioni esatte risolte per garantire la riproducibilità.

Memorizzare i binari nella cache

Sia Conan sia vcpkg supportano la memorizzazione dei binari nella cache: le build CI diventano molto più veloci, anche di diversi ordini di grandezza. Configuri una cache condivisa per il team.

Verifica rapida

Quale meccanismo di CMake scarica e compila una dipendenza durante la configurazione senza richiedere uno strumento esterno?

Riepilogo

vcpkg e Conan automatizzano la gestione delle dipendenze C++. L'alternativa leggera di CMake, FetchContent, consente di scaricarle direttamente. Blocchi le versioni, memorizzi i binari nella cache e utilizzi find_package in CMake per usare le librerie installate.

Gratis per iniziare

Impara C++ con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
51
Lezioni
203

Domande Frequenti

La lezione «Usare vcpkg e Conan per le dipendenze» è gratuita?

Sì — il testo completo di «Usare vcpkg e Conan per le dipendenze» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C++ Academy, passa a CoddyKit PRO. Il corso C++ Academy include 4 lezioni in totale.

Cosa imparerò in «Usare vcpkg e Conan per le dipendenze»?

Scarichi librerie esterne con vcpkg e Conan e le integri con CMake Eserciti C++ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C++ Academy?

Non è richiesta alcuna esperienza precedente. C++ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Usare vcpkg e Conan per le dipendenze»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C++ Academy?

Sì. Ogni lezione C++ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Struttura dei progetti CMake e CMakeLists.txt
  2. Target, linking e visibilità: PUBLIC, PRIVATE
  3. Usare vcpkg e Conan per le dipendenze
  4. Generazione di file per IDE e build multipiattaforma
← Torna a C++ Academy