Uso de vcpkg y Conan para las dependencias
Obtenga bibliotecas externas con vcpkg y Conan e intégralas con CMake.
Uso de vcpkg y Conan para las dependencias es una lección gratuita de C++ Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C++ Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C++ Academy incluye 4 lecciones en total.
¿Por qué usar un gestor de paquetes?
Descargar y compilar manualmente las dependencias de C++ resulta engorroso. Los gestores de paquetes automatizan la descarga, compilación y configuración de bibliotecas de terceros.
Las dos opciones principales
Dos gestores de paquetes de C++ líderes:
- vcpkg — respaldado por Microsoft, solo desde código fuente e integrado con CMake
- Conan — de código abierto, admite binarios y es más flexible
Configuración de vcpkg
Clone el repositorio de vcpkg y ejecute bootstrap. Establezca el archivo de toolchain en la llamada a CMake.
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg && ./bootstrap-vcpkg.sh
./vcpkg install fmt spdlogEnlazar vcpkg con CMake
Pase el archivo de toolchain al configurar CMake. Entonces find_package funciona como de costumbre.
cmake -B build -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmakeUsar vcpkg.json (modo de manifiesto)
Declare las dependencias en un archivo vcpkg.json. vcpkg las instala por proyecto.
{
"name": "my-app",
"version-string": "0.1.0",
"dependencies": ["fmt", "spdlog", "nlohmann-json"]
}Configuración de Conan
Instale Conan con pip; cree un conanfile.txt o un conanfile.py.
pip install conan
conan profile detect
conan install . --build=missingEjemplo de conanfile.txt
Enumere requires, generators y options.
[requires]
fmt/10.1.1
spdlog/1.12.0
[generators]
CMakeDeps
CMakeToolchainIntegrar Conan con CMake
Conan genera archivos de CMake al ejecutar install. Utilícelos mediante el archivo de toolchain o incluyendo los archivos CMake generados.
cmake -B build -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmakeFetchContent: alternativa nativa de CMake
Para casos sencillos, CMake incluye FetchContent, que permite descargar y añadir dependencias durante la configuración.
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)Elegir una herramienta
Guía rápida:
- Proyectos pequeños →
FetchContent - Proyectos grandes con dependencias sencillas →
vcpkg - Compilaciones complejas con caché de binarios →
Conan
Compilaciones reproducibles
Fije versiones específicas en su manifiesto. Los archivos de bloqueo (conan.lock) capturan las versiones exactas resueltas para garantizar la reproducibilidad.
Almacenar binarios en caché
Tanto Conan como vcpkg admiten el almacenamiento de binarios en caché; las compilaciones de CI son así órdenes de magnitud más rápidas. Configure una caché compartida para su equipo.
Comprobación rápida
¿Qué mecanismo de CMake descarga y compila una dependencia durante la configuración sin requerir una herramienta externa?
Resumen
vcpkg y Conan automatizan la gestión de dependencias de C++. El FetchContent integrado de CMake es una alternativa ligera. Fije las versiones, almacene los binarios en caché y utilice find_package en CMake para consumir las bibliotecas instaladas.
Preguntas frecuentes
¿La lección «Uso de vcpkg y Conan para las dependencias» es gratis?
Sí — el texto completo de «Uso de vcpkg y Conan para las dependencias» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C++ Academy, actualiza a CoddyKit PRO. El curso de C++ Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Uso de vcpkg y Conan para las dependencias»?
Obtenga bibliotecas externas con vcpkg y Conan e intégralas con CMake. Practicas C++ Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C++ Academy?
No se requiere experiencia previa. C++ Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Uso de vcpkg y Conan para las dependencias»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C++ Academy?
Sí. Cada lección de C++ Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Estructura de proyectos CMake y CMakeLists.txt
- Destinos, enlazado y visibilidad: PUBLIC, PRIVATE
- Uso de vcpkg y Conan para las dependencias
- Generación de archivos para IDE y compilaciones multiplataforma