viernes, 25 de marzo de 2011

Programación de videojuegos en linux

A continuación expongo un pequeño manual, a modo de cookbook, para configurar un entorno linux como plataforma de desarrollo y programación de videojuegos con C++ y las librerías gráficas Allegro. Los entornos de pruebas han sido ubuntu 10.10 y fedora 14.




Instalación del compilador de C++:
En ubuntu
$ sudo apt-get install build-essential 
En fedora
# yum install gcc-c++

Instalación de las librerías gráficas Allegro (es importante instalar también la versión de desarrollo):
En ubuntu
$ sudo apt-get install liballegro4.2 liballegro4.2-dev
En fedora
# yum install allegro allegro-devel allegro-tools


Instalación del entorno de desarrollo integrado (IDE) "code::blocks":
En ubuntu
$ sudo apt-get install codeblocks
En fedora
# yum install codeblocks

Comprobar que se ha instalado correctamente Allegro:
$ allegro-config --libs
-L/usr/lib -Wl,--export-dynamic -lalleg-4.2.3 -lalleg_unsharable

Configuración de Code::Blocks:
settings > compiler and debugger > pestaña "linker settings" > cuadro "other linker options" > agregar texto "`allegro-config libs static`"
Atención: delante de libs y static hay dos guiones seguidos y en fedora omitir static porque falla (estoy investigándolo).

"Hola mundo", con Allegro:

#include <allegro.h> 
int main() {
   allegro_init();
   install_keyboard();
   if (set_gfx_mode(GFX_SAFE, 320, 200, 0, 0) != 0) {
      set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
      allegro_message("Incapaz de entrar a modo grafico\n%s\n",
                     allegro_error);
      return 1;
   }
   textout_centre_ex(screen,
                     font, "Hola mundo!!",
                     160, 100,
                     palette_color[15],
                     palette_color[0]);
   readkey();
   return 0;
} END_OF_MAIN()

Enlaces externos:

6 comentarios:

  1. como compilo con allegro con ubuntu en lenguaje c??

    ResponderEliminar
  2. Hola Anónimo.

    Supongo que te referirás a cómo compilar un código en C, que utilice las librerias de Allegro, desde la consola. Pues para ello abre una terminal y escribe:

    g++ `allegro-config --libs` codigo.cpp -o ejecutable

    Teniendo en cuenta que "codigo.cpp" es tu código fuente, "ejecutable" será tu archivo ejecutable y que delante de libs hay dos guiones seguidos.

    Gracias por tu comentario, :)

    ResponderEliminar
  3. Gracias por el post, pero hice todo lo que dice ahí al pie de la letra y cuando voy a compilar el ejemplo que pusiste me dice:

    g++: error: allegro-config: No existe el archivo o el directorio
    g++: error: no se reconoce la opcion '--libs'

    ResponderEliminar
    Respuestas
    1. Hola kei kurono, gracias a ti por preguntar.

      El error que te está lanzando el compilador se debe a que has olvidado poner las comillas simples inversas en las opciones del enlazador. Estas hacen que se ejecute la orden que contienen, que es lo que le interesa al enlazador. Por ello, en las opciones del enlazador puedes poner, tanto -L/usr/lib -lalleg, como `allegro-config --libs`, pero sin olvidar las comillas simples inversas.

      Espero haberte sido de ayuda. Ya me contarás cómo te ha ido.

      Eliminar
    2. gracias, ese era el problema :D ahora si funciona perfectamente y encontre un manual excelente sobre allegro, me pondre a estudiarlo :P

      Eliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar