23 maj 2012

Lekcja 1.0.2 Allegro5 - pobieranie i instalacja .

 Bibliotekę Allegro 5 pobieramy z oficjalnej strony:  Allegro 5.0.10 albo Allegro 5.0.10  i    Allegro 5.1.8Biblioteki  skompresowane są do formatu 7z, którą można wypakować między innymi programem  (7zip.)
Oczywiście programik przyda się również do wypakowania innych formatów jak RAR, zip.
Dla Code::Blocks i Dev-C++ pobieramy wersje skompilowaną pod MinGW zależnie od tego jaką mamy wersje MinGW.
      Microsoft Visual C++  zależnie od wersji MSVC . Instalacja         youtube         anothergames
                   Instalacja Allegro 5 dla Code::Blocks w systemie Windows
Gdyby były problemy z instalacją code::blocks tu kurs Code::Blocks kurs.
Wypakowujemy Allegro w dowolnym miejscu na dysku, będzie to folder o nazwie allegro-5.0.10-mingw-4.7.1-tdm (zależnie od pobranej wersji). 
Gdy mamy Code::Blocks 12.11 z MinGW 4.7.1 TDM lub Code::Blocks 13.12 z MinGW 4.8.1 TDM należy pobrać wersje Allegro 5 - MinGW  4.7.1 -tdm  lub 4.7.0
Zawartość to trzy katalogi: bin, include, lib
bin         - pliki typu dll
include  - pliki nagłówkowe typu .h
lib          - biblioteka statyczna pliki .a lub .lib (dla Visual Studio)
 Podam tutaj najłatwiejszą metodę, a więc:
  • zawartość include do include w MinGW
  • dwa pliki z lib do lib w MinGW ( liballegro-5.0.10-monolith-mt.a  i  liballegro-5.0.10-monolith-mt-debug.a)
  • w bin są dll-ki potrzebne do uruchomienia naszych programów oczywiście o takich samych nazwach jak liby.
I to tyle pozostałe pliki zbędne do początkowej nauki. 
                Pierwszy program Allegro 5 w Code::Blocks 13.12
Uruchamiamy Code::Blocks → File → New → Project... → Empty project → GoNext>
wpisujemy tytuł (start) i miejsce zapisu(C:\Programy-A5).
ponownie Next>
 Nic tu nie zmieniamy i Finish, mamy gotowy pusty projekt.    
Tworzymy plik *.cpp Ctrl -Shift -N → Tak → main.cpp → Zapisz → OK.
 Dodajemy liby do linkera. Project → Build options...→ Linker settings → Link libraries:
dla Debug wpisujemy → allegro-5.0.10-monolith-mt-debug
dla Release → allegro-5.0.10-monolith-mt

W main.cpp wpisujemy kod:


#include
int main()
{
    al_init();
    al_install_keyboard();
    ALLEGRO_KEYBOARD_STATE klawiatura;
    ALLEGRO_DISPLAY * okno = al_create_display( 320, 240 );
    al_set_window_title( okno, "Allegro5" );
    while( !al_key_down( & klawiatura, ALLEGRO_KEY_ESCAPE ) )
    {
        al_get_keyboard_state( & klawiatura );
        al_clear_to_color( al_map_rgb( 0, 255, 0 ) );
        al_flip_display();
    }
    al_destroy_display( okno );
    return 0;
}
Kompilacja i uruchomienie klawisz F8.
  Code::Blocks i Allegro5 gotowe do pracy.
Link -> Przykładowe programy  Allegro-5

15 komentarzy:

Szyryn pisze...

Może się komuś przyda:
- przydałoby się dodać że biblioteki dla debugera np. w Ubuntu (13.04) znajdują się w katalogu /usr/lib/i386-linux-gnu/ oraz to że trochę inaczej się nazywają: nazwy zaczynają się od liballegro* z rozszerzeniem *.so

Unknown pisze...

Witam. Bardzo fajny poradnik. Zainstalowałem według niego Allegro5,lecz mam problem:
#0 6398B4AE al_clear_to_color(color=...) (d:\Libraries\build\allegro\src\allegro-git\allegro-git\src\drawing.c:30)
#1 0040148C main() (E:\codeb_allegro\moze_teraz\main.cpp:15)
Komunikat ten pojawia się przy próbie kompilacji. Katalog w d: nie istnieje. Jak to ustawić?

Anonimowy pisze...

Być może to wina braku sterowników do karty graficznej lub brak DirectX90.
Należało by najpierw skompilować w trybie debug a później uruchomić program, a nie jednocześnie.
Nigdy nie spotkałem się z takim błędem, mogę się tylko domyślać.
Trochę mało danych o konfiguracji sprzętu.

sk6b pisze...

Witam, próbuję zainstalować tę bibliotekę na codeblocksie od kilku godzin i nic... Przyznam, że nie jestem pewien jaką mam wersję mingw, więc spróbowałem zainstalować każdą z wersji Allegro, niestety za każdym razem się nie udaje. Program się kompiluje, ale zaraz po uruchomieniu pojawia się następujący error: "Nie znaleziono punktu wejścia procedury __gxx_personality_v0 w bibliotece C:\Program Files(x86)\CodeBloks\MinGW\bin\allegro-5.0.10-monolith-md.dll."
Ktoś ma pomysł w czym leży problem?

Anonimowy pisze...

Najlepiej zainstaluj Code::Blocks z MinGW 4.8.1 32 bitowe
adres:

http://sourceforge.net/projects/codeblocks/files/Binaries/13.12/Windows/codeblocks-13.12mingw-setup-TDM-GCC-481.exe/download

I Pobierz Allegro 5
adres:
http://targonski.nazwa.pl/thedmd/allegro/5.0.10/allegro-5.0.10-mingw-4.7.1-tdm.7z

Dalej postępuj jak zostało opisane powyżej w kursie.

Anonimowy pisze...

linki powyzej pomogly mi dobrac odpowiednia wersje, programy sie kompiluja i nie mam problemow, poza otwarciem pliku wykonawczego po poprawnym skompilowaniu programu. wyskakuje komunikat: ze nei odnaleziono pliku allegro-5.0.10-monolith-mt-debug.dll. dla sprawdzenia zastapilem kod innym ktory nie uzywa biblioteki allegro i wtedy plik sie otwiera. poszperalem powklejalem i dalej to samo. ktos mi powie co mam zrobic?

Anonimowy pisze...

Witam
Potrzebną dll-ke (allegro-5.0.10-monolith-mt-debug.dll to jest w trybie debug-dynamic ) masz w folderze bin w pobranej przez ciebie bibliotece allegro, a umieścić ją trzeba obok pliku wykonywalnego .exe.
pozdrawiam:)
Grzegorz B.

Anonimowy pisze...

Omg, działa w końcu!

Jedyny słuszny tutorial w internecie.
Męczyłem się z tym dwa dni. Pozdrawiam i polecam.

Anonimowy pisze...

Wreszcie działa -.- dzięki :)
Jedyny normalny tutorial:P

Anonimowy pisze...

Dzięki !!!

Anonimowy pisze...

Nie działa! Zjebany poradnik. Weź idź w pizde.

Anonimowy pisze...

No anonimku, trzeba znać podstawy języka C i C++, oraz dobra znajomość środowiska programistycznego z którego się korzysta, jeśli ten artykuł jest niewystarczający dla ciebie abyś zainstalował allegro5 to nie jest to moja wina lecz twojej nieznajomości środowiska.

Trochę więcej informacji o instalacji

->link: http://cpp0x.pl/artykuly/?id=48


Proszę o opinie, czy jest potrzeba poszerzenia artykułu, jeśli tak to o jakie treści.

Anonimowy pisze...

THX

Anonimowy pisze...

Hejka,
A wie ktoś dlaczego *monolith-debug* pięknie działa a wersja release (z *monolith-mt*) się wysypuje?

Adrian Moczyński pisze...

Bardzo fajnie napisane. Jestem pod wrażeniem i pozdrawiam.