0Pricing
C++ Academy · Lección

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 spdlog

Enlazar 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.cmake

Usar 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=missing

Ejemplo de conanfile.txt

Enumere requires, generators y options.

[requires]
fmt/10.1.1
spdlog/1.12.0

[generators]
CMakeDeps
CMakeToolchain

Integrar 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.cmake

FetchContent: 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

  1. Estructura de proyectos CMake y CMakeLists.txt
  2. Destinos, enlazado y visibilidad: PUBLIC, PRIVATE
  3. Uso de vcpkg y Conan para las dependencias
  4. Generación de archivos para IDE y compilaciones multiplataforma
← Volver a C++ Academy