Usare vcpkg e Conan per le dipendenze
Scarichi librerie esterne con vcpkg e Conan e le integri con CMake
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 spdlogCollegare 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.cmakeUtilizzare 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=missingEsempio di conanfile.txt
Specifichi le dipendenze, i generatori e le opzioni.
[requires]
fmt/10.1.1
spdlog/1.12.0
[generators]
CMakeDeps
CMakeToolchainIntegrare 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.cmakeFetchContent: 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.
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
- Struttura dei progetti CMake e CMakeLists.txt
- Target, linking e visibilità: PUBLIC, PRIVATE
- Usare vcpkg e Conan per le dipendenze
- Generazione di file per IDE e build multipiattaforma