A Apéndice A Instalación de las librerías en linux
Aunque cuando escribo esto ya está disponible la versión 3 de SDL, seguiremos trabajando con la versión 2, ya que los ejemplos de este curso sólo funcionan en esa versión.
Dependencias
SDL2 tiene algunas dependencias, que será necesario tener instaladas antes de compilar las librerías. Consultar el documento correspondiente en:
https://github.com/libsdl-org/SDL/blob/main/docs/README-linux.md
Si además queremos repoducir ficheros midi, en algunos casos también será necesario instalar otros paquetes:
apt install timidity apt-get install freepats
SDL2
Descargar la versión desarrollo, y descomprimirla en una carpeta SDL.
git clone https://github.com/libsdl-org/SDL.git -b SDL2 cd SDL mkdir build cd build ../configure make sudo make install
En linux las librerías se almacenan en la ruta "/usr/loacal/lib", y los ficheros de cabecera en "/usr/local/include". Hay que tener esto en cuenta cuando creemos nuestros proyectos.
SDL_image
Descargar la versión desarrollo, y descomprimirla en una carpeta SDL_image.
git clone https://github.com/libsdl-org/SDL_image.git -b SDL2 cmake -S . -B build cmake --build build
Cuando se usa cmake hay que copiar los ficheros de cancera y de librería manualmente:
cd include sudo cp SDL_image.h /usr/local/include/SDL2/ cd .. cd build sudo cp libSDL2_image* /usr/local/lib/
SDL_mixer
git clone https://github.com/libsdl-org/SDL_mixer.git -b SDL2 cd SDL_mixer mkdir build cd build ../configure make sudo make install
SDL_ttf
git clone https://github.com/libsdl-org/SDL_ttf.git -b SDL2 cd SDL_ttf cmake -S . -B build cmake --build build
Cuando se usa cmake hay que copiar los ficheros de cancera y de librería manualmente:
sudo cp SDL_ttf.h /usr/local/include/SDL2/ cd build sudo cp libSDL2_ttf* /usr/local/lib/
Configurar Code::Blocks
Para usar estas librerías en nuestros proyectos de Code::Blocks tenemos que crear el proyecto usando la categoría "SDL2 project".
Esto añade la opción `sdl2-config --libs` a las opciones del compilador, que define las rutas de las librerías y de los ficheros de cabecera.
Esta opción usa las librerías de enlace dinámico, si prefieres usar las de enlace estático hay que sustituir "--libs" por "--static-libs".
Si además queremos usar alguna de las librerías "SDL_image", "SDL_mixer" o "SDL_ttf", habrá que añadirlas en "link libraries".