Capítulo 2. Instalación de SDL

Tabla de contenidos
2.1. Instalación en Linux
2.2. Instalación en Windows

2.1. Instalación en Linux

La instalación en Linux es demasiado fácil. Para poder compilar un juego realizado en SDL debemos de tener instalado gcc, que es el compilador que vamos a utilizar para poder compilar programas en C y luego instalar las librerias SDL que podemos bajarnos de su página Web, o instalar en el caso de debian desde "apt-get". Debemos de instalar los siguiente paquetes:

Por supuesto existen muchas más para muchas otras cosas, pero estas serán las librerías que vamos a utilizar durantes estos artículos.

Después lo que tenemos es que configurar el programa con el que vayamos a compilar nuestros proyectos. Para ello utilizaremos Anjuta (http://www.anjuta.org/). Lo primero es crear un "Proyecto". Para ello pulsamos en "Archivo -> Nuevo Proyecto".

Seleccionamos un nuevo proyecto de consola.

Luego colocamos el nombre al proyecto y seleccionamos "C y C++" como lenguajes. Recuerda que esto no lo podrás modificar luego.

Colocamos la descripción de nuestro proyecto y terminamos. Anjuta nos debe de quedar algo tal que así.

Luego lo que tenemos que hacer el configurarlo para poder trabajar con SDL. Para ello nos vamos a "Opciones -> Opciones de compilador y enlazador". Allí nos vamos a la pestaña biblioteca y añadirmos las librerías SDL_mixer, SDL_image y SDL_ttf.

Por último nos vamos a la pestaña "Opciones" y colocamos los FLAGS. Nos posionamos en el cuadro Flags de compilador (CFLAGS): y podemos: "`sdl-config --cflags` `sdl-config --libs`".

Con esto ya tenemos Anjuta configurado para poder compilar. Para probarlo pondremos este código en el archivo "main.c" de nuestro proyecto y compilaremos el código pulsando "F11". Una vez compilado pulsaremos "F3" y si todo ha salido bien saldrá una pantalla en negro de la cual podremos salir pulsando una tecla. No te preocupes por no entender el código, dentro de poco lo tendrás todo claro.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <SDL.h>

int main (int argc, char *argv[]) {
	SDL_Event event;
	SDL_Surface *screen;
	int done = 0;
	
	screen = SDL_SetVideoMode(640,480,16, SDL_SWSURFACE | SDL_DOUBLEBUF );
	if(!screen){
		printf("No se pudo iniciar la pantalla: %s\n", SDL_GetError());
		SDL_Quit();
		exit(-1);
	}
	
	while (done == 0) {
		SDL_Flip (screen);
		// Comprobando teclas para opciones
		while (SDL_PollEvent(&event)) {
			// Cerrar la ventana
			if (event.type == SDL_QUIT) { done = 1; } 
			// Pulsando una tecla
			if (event.type == SDL_KEYDOWN) {
				done = 1; 
			}
		}
	}
	
	SDL_FreeSurface(screen);
	
	SDL_Quit();
	
    printf("\nTodo ha salido bien.\n");
    return 0;
}