A jelen leírás a Code::Blocks 13.12-es verzióba segít telepíteni az Allegro 5 grafikus környezetet.
Alapvetően egyszerűnek indul a dolog, de a fejlesztők az utóbbi időben nem frissítették a letölthető futtatható állományokat így ez megnehezíti a procedúrát. A lefgontosabb dolgunk: összehangolni a verziószámokat. Az Allegro honlapjáról letölthetők a kész függvénykönyvtárak, de csak bizonyos MinGW (ha nem tudod mi az a MinGW akkor csekkold a Wikipédiát) verzióhoz. Jelen állás szerint az Allegro-nak pontosan MinGW 4.7.0 környezet kell. A gond az, hogy a Code::Blocks-ba 4.7.1 van integrálva. Ez nem jó. A Code::Blocks honlapjáról tölthető egy MinGW nélküli változat is, erre lesz szükségünk.
Beszerzendő dolgok:
- Az Allegro fájljai: https://www.allegro.cc/files/ a MinGW 4.7.0-hoz tartozó Allegro fájlok
- A Code::Blocks környezet: http://www.codeblocks.org/downloads/26 a 13.12-es, MinGW NÉLKÜLI verzió
- És a 4.7.0-ás MinGW: http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/
Ezzen három összetevőből kell dolgozni, mivel itt a verziószámok össze vannak hangolva.
DE mivel szeretek próbálkozni, kipróbáltam, hogy nem működik-e az Allegro a legújabb 4.8.1-es MinGW-vel és pozitív tapasztalataim voltak: Minden rendesen működött. Szóval aki kísérletező kedvében van, és szeretné a legfrissebb összeállítást beszerezni az inkább töltse ezeket:
Beszerzendő dolgok:
- Az Allegro fájljai: https://www.allegro.cc/files/ a MinGW 4.7.0-hoz tartozó Allegro fájlok
- A Code::Blocks környezet: http://www.codeblocks.org/downloads/26 a 13.12-es, MinGW NÉLKÜLI verzió
- MinGW http://sourceforge.net/projects/mingw/files/Installer/ a 4.8.1-es verzió
A telepítés menete:
- Telepítsük a MinGW-t. Ez létrehozza a c:\MinGW mappát.
- Telepítsük a CodeBlocks-ot. Ez létrehozza a c:\Program Files\CodeBlocks mappát
- A c:\MinGW mappát mozgassuk át a c:\Program Files\CodeBlocks mappába
- Tömörítsük ki az Allegro letöltött fájljait a c:\Allegro útvonalra.
- Mozgassuk át az Allegro mappa tartalmát a c:\Program Files\MinGW\ útvonalra és fésüljük össze az ott található a bin, include és lib mappákkal.
Szóval lényegében a MinGW-t és az Allegrót is beszórtuk a Code::Blocks mappába. Eddig ennyi.
A Code::Blocks beállítása:
- Settings > Compiler > Linker settings > Link libraries ponton adjuk hozzá a következő fájlokat a c:\Program Files\CodeBlocks\MinGW\lib mappából pontosan EBBEN A SORRENDBEN (a verziószámok eltérőek lehetnek). Ezek az Allegro függvénykönyvtárai, amik hozzálinkelődnek a kész exe-hez, így hordozható lesz a programunk:
liballegro-5.0.5-static-mt.a
iballegro_acodec-5.0.5-static-mt.a
liballegro_audio-5.0.5-static-mt.a
libvorbisfile-1.3.2-static-mt.a
libvorbis-1.3.2-static-mt.a
liballegro_color-5.0.5-static-mt.a
liballegro_dialog-5.0.5-static-mt.a
liballegro_font-5.0.5-static-mt.a
liballegro_image-5.0.5-static-mt.a
liballegro_memfile-5.0.5-static-mt.a
liballegro_physfs-5.0.5-static-mt.a
liballegro_primitives-5.0.5-static-mt.a
liballegro_ttf-5.0.5-static-mt.a
libdumb-0.9.3-static-mt.a
libFLAC-1.2.1-static-mt.a
libfreetype-2.4.4-static-mt.a
libogg-1.2.1-static-mt.a
libzlib-1.2.5-static-mt.a
libopenal-1.14-static-mt.a
libgdiplus.a
libuuid.a
libkernel32.a
libwinmm.a
libpsapi.a
libopengl32.a
libglu32.a
libuser32.a
libcomdlg32.a
libgdi32.a
libshell32.a
libole32.a
libadvapi32.a
libws2_32.a
libshlwapi.a
2. A Settings > Compiler > Linker settings > Other linker options menüpontba írjuk a következőket, ami bekapcsolja a statikus linkelést a dinamikus helyett (hogy mi a különbség a kettő között azt elolvashatod pl itt):
-static-libgcc
-static-libstdc++
3. A Settings > Compiler settings > #defines részen írjuk be a következőt:
ALLEGRO_STATICLINK
Ezzel készen vagyunk. Itt egy példaprogram amivel tesztelhetjük az Allegro működését, egy folyamatosan növekvő kört jelenít meg egy grafikus ablakban:
#include<stdio.h>
#include<allegro5/allegro.h>
#include<allegro5/allegro_primitives.h>
int main(){
al_init();
al_init_primitives_addon();
ALLEGRO_DISPLAY* kepernyo = al_create_display(640,480);
int i;
while(1){
for(i=0; i<240; i++){
al_draw_filled_circle(320,240,i,al_map_rgb(255,255,255));
al_flip_display();
al_rest(0.005);
al_clear_to_color(al_map_rgb(0,0,0));
}
}
return 0;
}
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.