🔧 Build Issues - Soluciones Rápidas¶
Problemas comunes de compilación en AudioLab y sus soluciones.
📋 ÍNDICE RÁPIDO¶
❌ CANNOT FIND JUCE¶
Síntoma¶
o
Diagnóstico¶
CMake no puede encontrar el framework JUCE.
Soluciones¶
Opción 1: Especificar path manualmente
Opción 2: Colocar JUCE en ubicación esperada
Opción 3: Variable de entorno
Verificación¶
Si compila, JUCE está correctamente configurado.
❌ UNDEFINED REFERENCE¶
Síntoma¶
o
Diagnóstico¶
Linker no puede encontrar la definición de un símbolo.
Causas Comunes¶
1. Archivo .cpp faltante¶
Solución: Agregar a CMakeLists.txt
2. Library no linkeada¶
Solución: Agregar library
3. Orden de linking incorrecto¶
Solución: Reordenar libraries (dependencias al final)
target_link_libraries(mi_plugin PRIVATE
mi_library
juce::juce_core # Después de librerías que dependen de JUCE
)
4. Inline function no inlined¶
Causa: Function declarada inline pero definición no visible.
Solución: Mover definición a header o remover inline.
❌ MODULE NOT FOUND¶
Síntoma¶
Solución¶
1. Regenerar CMake cache
# Windows
.\scripts\clean.ps1 -Cache
cmake --preset developer
# Unix
./scripts/clean.sh --cache
cmake --preset developer
2. Verificar CMakePresets.json existe
Debe estar en raíz del proyecto.
3. Actualizar CMake
❌ OUT OF MEMORY¶
Síntoma¶
o en Windows:
Soluciones¶
1. Reducir paralelismo
2. Unity builds (combinar archivos)
En CMakeLists.txt:
3. Usar 64-bit toolchain
Verificar que no estás usando toolchain de 32-bit.
4. Deshabilitar precompiled headers
❌ PERMISSION DENIED¶
Síntoma¶
Causas¶
- Antivirus bloqueando: Agregar exclusión para build directory
- Proceso ejecutándose: Cerrar plugin host (DAW) o standalone
- Permisos de carpeta: Verificar write permissions
Solución¶
# Windows: Verificar procesos
Get-Process | Where-Object {$_.Path -like "*AudioLab*"}
# Cerrar todos
Stop-Process -Name "AudioLab*"
❌ PATH TOO LONG (Windows)¶
Síntoma¶
Causa¶
Windows tiene límite de 260 caracteres por default.
Soluciones¶
1. Usar path más corto
# En lugar de:
C:\Users\MiNombre\Documents\Projects\Audio\AudioLab\build\...
# Usar:
C:\AudioLab\build\...
2. Habilitar long paths (Windows 10+)
Registry edit:
O via PowerShell (admin):
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" `
-Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
💡 DEBUGGING WORKFLOW¶
Para cualquier error de build:
- Leer error completo: Primera y última línea suelen ser claves
- Build limpio:
./scripts/clean.sh --all && ./scripts/build.sh - Build verbose:
cmake --build build --verbose - Un target a la vez:
cmake --build build --target mi_plugin - Verificar environment: CMake variables, PATH, SDK versions
- Buscar en logs:
build/CMakeFiles/CMakeError.log