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

De här instruktionerna gäller för Visual Studio 2008, och jag har provkört dem på Windows XP Professional, engelskspråkig version.

1. Ladda hem

Man kan ladda ner källkoden till biblioteket och kompilera den, men det är lite krångligt, så vi väljer att ladda hem en färdigkompilerad, eller "binär", version av biblioteket.

Versionen för Visual Studio 2008 är lite svår att hitta på Allegros webbplats, så använd den här direktlänken: http://www.allegro.cc/files/4.2.2/allegro-msvc90-4.2.2.zip. Alternativt finns det en lokal kopia från 2008-08-28 här: nedladdat/allegro-msvc90-4.2.2.zip.

"msvc90" betyder Microsoft Visual C++ 9.0, vilket är den C-kompilator som ingår i Visual Studio 2008.

2. Packa upp och installera

Bestäm var du vill placera Allegro-bibliotekets filer, och packa upp Zip-filen. Det bildas en mapp som heter msvc9. (Med vissa uppackningsprogram får man en extra mappnivå med samma namn.) Själv valde jag att lägga det hela i katalogen C:\Allegro.

I mappen finns tre undermappar:

Den uppackade zip-filen allegro-msvc90-4.2.2

I mappen bin finns de dll-filer som Allegro-program behöver. "Dll" betyder "dynamic-link library", och innehåller programrutiner som Allegro-programmen kommer att anropa. Det är så att säga "själva biblioteket", och utgörs av filerna alld42.dll, alleg42.dll och allp42.dll.

Katalogen Windows\system32

Windows kommer inte att hitta dem om de ligger där de ligger, så vi måste kopiera dem till katalogen Windows/system32:

Katalogen Windows\system32

3. Gör ett program

Starta Visual Studio 2008, och skapa ett nytt projekt. (Klicka på File, välj sen New, och Project.) Vi ska skapa ett tomt projekt, utan någon för-genererad kod, så vi väljer Visual C++ som språk, och Win32 Console Application:

En konsol-applikation i Visual C++

Eftersom projektet ska vara tomt, måse vi kryssa i Empty project:

Ett tomt projekt i Visual C++

Här kan man läsa mer om hur man skapar ett enkelt C-program i Visual Studio 2008.

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()

4. Tala om för Visual Studio var Allegro-filerna finns

Om vi nu försöker kompilera och provköra programmet, kommer vi att få en massa felmeddelanden. Det första problemet är att include-filen allegro.h inte hittas. Och det är ju egentligen inte så konstigt, för vi har inte talat om för Visual Studio var Allegros include-filer finns.

Kom ihåg var vi packade upp Allegro-paketet:

Den uppackade zip-filen allegro-msvc90-4.2.2

Include-filerna finns förstås i mappen include. Det är alltså filer som ska inkluderas i Allegro-programmen med #include, på samma sätt som till exempel stdio.h. De innehåller deklarationer av de programrutiner som Allegro-programmen kommer att anropa. (En deklaration i C talar om att en funktion finns, vad den heter och vilka parametrar man kan skicka till den, men funktionskroppen, med vad funktionen faktiskt gör, finns inte med.)

Vi skulle kunna kopiera Allegros include-filer till Visual C++:s mapp med system-include-filer. Beroende på Windows-version och hur man installerade Visual Studio, kan den mappen finnas på olika ställen, men det vanliga är att den heter C:\Program Files\Microsoft Visual Studio 9.0\VC\include. (Visual Studio 2008 är egentligen version 9.0 av Visual Studio!)

Men ett bättre sätt är att låta Allegros include-filer ligga kvar där de är, och tala om för Visual Studio var de finns. Därför klickar vi på Project i menylisten, och väljer projektnamn Properties..., så får vi fram projektets egenskapsfönster (eller "property-fönster", om man vill prata svengelska). Använd menyträdet till vänster för att komma fram till allmänna inställningar för C/C++, och markera Additional Include Directories ("ytterligare include-kataloger"):

Egenskaper för projektet

Lägg till namnet på Allegros include-katalog, i det här fallet C:\Allegro\allegro-msvc90-4.2.2\msvc9\include:

Egenskaper för projektet

Klicka på OK för att lägga in ändringen och komma tillbaka till egenskapsfönstret. Nu ska det se ut så här:

Egenskaper för projektet

Vi måste också tala om för Visual Studio att vårt Allegro-program faktiskt ska använda sig av en del av de där filerna som vi nyss kopierade till Visual Studios kataloger. Därför fortsätter vi i egenskapsfönstret, och använder menyträdet till vänster för att komma fram till indata till länkaren. markera Additional Dependencies ("ytterligare beroenden"):

Egenskaper för projektet

Lägg till alld.lib som ett ytterligare beroende:

Vi lägger till alld.lib

Klicka sen på OK. Nu ska det se ut så här:

Egenskaper för projektet

Vi behöver informera Visual Studio om ännu en katalog, nämligen lib, som innehåller en del hjälpfiler som behövs. Fortfarande i egenskapsfönstret, använder vi menyträdet till vänster för att komma fram till allmänna inställningar för länkaren, och ändrar i Additional Library Directories, där vi lägger till C:\Allegro\allegro-msvc90-4.2.2\msvc9\lib:

Egenskaper för projektet

Klicka till slut på OK i egenskapsfönstret.

5. Provkör programmet

Kompilera ("bygg") och provkör programmet. Om allt är rätt, ska det dyka upp en vanlig Windows-dialog:

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 på Allegro-dokumentationen och på Allegro-wikin: http://wiki.allegro.cc/


Thomas Padron-McCarthy (thomas.Padron-McCarthy@oru.se), 28 augusti 2008