Tuesday 23 April 2019

Preparar SDL para la Línea de Comandos (MSYS/MinGW)

I.- Descargar SDL

Lo primero que debes hacer es descargar las cabeceras y binarios de SDL. Estos se encuentran en la página oficial de SDL, específicamente esta página.

Development Libraries section in SDL Website
Dirígete hasta la parte inferior de la página, en la sección de "Development Libraries", y descarga la librería de desarrollo MinGW32.

Abre el archivo SDL2-devel-2.0.x-mingw.tar.gz, y posteriormente abre el archivo .tar que se encuentra dentro, con una carpeta; copia esta carpeta a donde desees, para este tutorial usaremos la raíz del sistema en C:\SDL.

II.- Configurar MinGW

Copia los contenidos de la subcarpeta lib de SDL2-2.0.x a la carpeta lib de MinGW, que debería estar localizada en C:\MinGW\lib.

Posteriormente, abre la carpeta include en el archivo y extrae la carpeta llamada SDL2 en tu carpeta include de MinGW, copiando todos los archivos de cabecera.

Ahora, extrae el fichero SDL2.dll de la carpeta bin al mismo directorio donde compilarás tus binarios (.exe), este archivo es redistribuible, ¡por lo que podrás (tendrás que) proporcionar al compartir tu aplicación!.

De otra forma, puedes copiar SDL2.dll a la carpeta C:\Windows\System32 (32 bits) o C:\Windows\SysWOW64 (64 bits), lo que permitirá que tu aplicación detecte SDL2.dll incluso cuando no se encuentra en la misma carpeta que tu .exe.

Un problema con este método es que, al tener múltiples aplicaciones SDL que utilizan diferentes versiones de la librería, tendrás conflictos de versión. Por ejemplo si tienes SDL 2.0.8 en System32, mientras que tu aplicación usa SDL 2.0.9 te vas a topar con problemas. Generalmente, deberías tener la versión adecuada de SDL2.dll en el mismo directorio que tu ejecutable, pues te facilitará tenerlo listo al momento de compartir de aplicación.

III.- Probando el compilador

Vamos a crear una simple aplicación que requiere de SDL, para ello abrimos un nuevo archivo de código fuente en tu editor favorito, y pegamos el siguiente código:

Para probarlo, lo compilamos. Abre una ventana de comandos e introduce la siguiente línea:

g++ -o main.exe main.cpp -lmingw32 -lSDL2main -lSDL2

Asegúrate de que SDL2.dll está en el mismo directorio que el ejecutable. Si no hay ningún error, todo está listo. De otra forma, regresa y revisa que no te hayas saltado ningún paso; también asegúrate de que tu compilador está funcionando correctamente.

Como nota final, en el archivo que descargamos hay una carpeta llamada docs, te recomiendo que la extraigas y la dejes en un lugar disponible para futura referencia.

Por cierto, esa línea de comando se nos va hacer un poquito tediosa de escribir cada vez que queramos compilar nuestro proyecto, por lo que en la siguiente entrada veremos como crear un Makefile para facilitarnos el proceso un poquito.

No comments:

Post a Comment