C: Hur man installerar och använder Allegro på sin Linux-dator

1. Ladda hem

Börja med att ladda hem Allegro-biblioteket från webbplatsen http://www.liballeg.org/. Klicka på Latest version under rubriken Downloads i menyn till vänster.

Vi ska ladda hem källkoden. Under rubriken Stable branch 4.2.2 source releases hittar vi källkoden i "Unix friendly format", vilket betyder en gzippad tar-fil. När jag skriver detta heter den allegro-4.2.2.tar.gz. Klicka på den, och ladda hem filen.

Eller ta bara den här lokala kopian av filen: allegro-4.2.2.tar.gz

Som alternativ kan man i stället ladda ner källkoden och kompilera den, men det är lite krångligare.

2. Packa upp och installera

Man kan installera Allegro på olika ställen, men här väljer jag katalogen /home/padrone/allegro/installation. Jag har valt en plats där jag har skrivrättigheter, så att jag inte behöver kunna root-lösenordet bara för att installera Allegro.

Packa upp tar-filen:

tar xvzf allegro-4.2.2.tar.gz
Det skapas en katalog som heter allegro-4.2.2. Gå till den katalogen, konfigurera, bygg och installera:
cd allegro-4.2.2
./configure  --prefix=/home/padrone/allegro/installation  --enable-dbglib 
make
make install
I underkatalogen examples finns några olika exempelprogram. Vi provkör ett par av dem:
./examples/exhello
./examples/exlights
Programmen avslutas genom att man trycker någon tangent.

3. Gör ett program

Skapa en katalog för programmet, till exempel /home/padrone/allegrospel, och byt till den katalogen.
mkdir /home/padrone/allegrospel
cd /home/padrone/allegrospel
För att kompilatorn och länkaren ska hitta Allegro-biblioteket, lägger vi in följande rader i en fil som heter Makefile:
LDLIBS += -L/home/padrone/allegro/installation/lib -L/usr/X11R6/lib
LDLIBS += -Wl,--export-dynamic -lalld-4.2.2 -lalld_unsharable
CPPFLAGS += -I/home/padrone/allegro/installation/include -DDEBUGMODE
CFLAGS += -Wall -std=c99 -pedantic
Vissa saker, till exempel var X11-biblioteken finns, kan variera mellan olika Linux-versioner. Man kan använda programmet allegro-config, som finns i underkatalogen bin i installationskatalogen, för att automatskt generera (en del av) det som ska stå i makefilen:
/home/padrone/allegro/installation/bin/allegro-config  --libs  debug
/home/padrone/allegro/installation/bin/allegro-config  --cppflags  debug
Skapa en källkodsfil, till exempel med namnet allegrospel.c, och skriv in eller kopiera följande programkod:

#define USE_CONSOLE
#include <allegro.h>

int main(void) {
        if (allegro_init() != 0)
                return 1;
        allegro_message("Hej!");
        return 0;
}
END_OF_MAIN()

För att programmet ska hitta biblioteksfilerna vid körning, måste vi tala om var de finns. Det kan vi göra genom att sätta omgivningsvariabeln LD_LIBRARY_PATH. Så här skriver man i bash, som är ett av de vanligaste skalen:

LD_LIBRARY_PATH=/home/padrone/allegro/installation/lib
export LD_LIBRARY_PATH

Kompilera och provkör programmet:

make allegrospel
./allegrospel
Om allt är rätt, ska det dyka upp en ruta med texten "Hej". Beroende på vilken version av fönstersystemet som man använder, kan rutan se ut på olika sätt. Jag får en ruskigt stor och ful ruta:

OK-rutan

Nu har vi konfigurerat projektet för att använda debug-versionen av Allegro-biblioteket, med dynamisk länkning. Det passar bra när vi utvecklar och provkör våra egna Allegro-program, men om vi ska skriva spel och distribuera dem till andra, bör vi använda en annan konfiguration. Den som vill lära sig mer om detta kan läsa mer till exmpel i filen allegro-4.2.2/docs/build/unix.txt.


Thomas Padron-McCarthy (thomas.padron-mccarthy@tech.oru.se), 12 februari 2008