📦 Package Manifests¶
Este directorio contiene los archivos de configuración que vcpkg lee para gestionar las dependencias de AudioLab.
📄 Archivos¶
vcpkg.json¶
Propósito: Manifiesto principal de dependencias
¿Qué hace? - ✅ Declara QUÉ librerías necesita el proyecto - ✅ Especifica versiones mínimas - ✅ Define features opcionales (IPP, FFTW) - ✅ vcpkg lo lee y descarga automáticamente todo
Comando:
vcpkg-configuration.json¶
Propósito: Configuración avanzada de vcpkg
¿Qué hace? - ⚡ Binary caching: No recompilar si ya existe - 🎯 Registries personalizados: Para paquetes propios - 📦 Overlay ports: Modificar paquetes upstream - 🔒 Baseline lock: Versiones reproducibles
Resultado: Builds 10x más rápidos
.vcpkg-root¶
Propósito: Marcador de raíz del proyecto (archivo vacío)
¿Qué hace?
- 📍 Indica: "Esta es la raíz del proyecto AudioLab"
- 🔍 vcpkg busca vcpkg.json relativo a este archivo
- 🎯 Permite ejecutar vcpkg install desde cualquier subdirectorio
Sin este archivo: vcpkg no sabría dónde está el proyecto
🚀 Workflow¶
1. Instalación inicial¶
# Clonar vcpkg (si no está instalado)
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh # macOS/Linux
.\bootstrap-vcpkg.bat # Windows
# Instalar dependencias de AudioLab
cd /path/to/audiolab
vcpkg install
2. Añadir nueva dependencia¶
# Editar vcpkg.json
{
"dependencies": [
...,
{
"name": "libsndfile",
"version>=": "1.2.0"
}
]
}
# Instalar
vcpkg install
3. Habilitar feature opcional¶
# Con IPP
vcpkg install --x-feature=ipp
# Con FFTW
vcpkg install --x-feature=fftw
# Todas las features
vcpkg install --x-feature=all
4. Actualizar baseline¶
# Obtener último commit de vcpkg
cd vcpkg
git pull
git rev-parse HEAD # Copiar hash
# Actualizar vcpkg.json y vcpkg-configuration.json
"builtin-baseline": "NUEVO_HASH_AQUI"
🎯 Features Disponibles¶
| Feature | Descripción | Plataformas |
|---|---|---|
ipp |
Intel IPP (FFT, filters optimizados) | Windows, Linux |
fftw |
FFTW (FFT de alta performance) | Todas |
tests |
Catch2 para unit testing | Todas |
benchmarks |
Google Benchmark para profiling | Todas |
all |
Habilitar todas las features | Todas |
🔧 Troubleshooting¶
Error: "vcpkg.json not found"¶
Solución: Asegurarse de que .vcpkg-root existe en el directorio raíz
Error: "baseline not found"¶
Solución: Actualizar el hash del baseline en vcpkg.json y vcpkg-configuration.json
Error: "package not available for triplet"¶
Solución: Algunos paquetes no están disponibles en todas las plataformas. Revisar el feature y añadir "platform": "..."
📚 Referencias¶
Última actualización: 2025-10-03