No cóż, ja spróbowałem i mi się kompiluje. Zanim napisze ci jak to zainstalować dam ci jedną radę: Nigdy nie wklejaj bibliotek bezpośrednio do katalogów kompilatora. Robisz sobie tylko tym wielki bałagan i jak później będziesz chciał nowszą wersję biblioteki to będziesz znowu dodawał i przez to niepotrzebnie zwiększasz rozmiar katalogu kompilatora. Każdą bibliotekę trzymaj w osobnym katalogu z dala od katalogu kompilatora. Ja u siebie mam na dysku folder CPPLibraries, a w nim katalogi nazwane np. SFML2, Allegro5 itd, a w każdym z tych katalogów mam katalog bin, w którym są dll, katalog lib, w którym są pliki .a(ewentualnie .lib, jak ktoś korzysta z Visuala) i katalog include, w którym wiadomo co jest. Teraz jak to zainstalować, bo to cie chyba najbardziej interesuje:
1. Wypakowujesz sobie pobrane Allegro5 do jakiegoś katalogu
2. W CodeBlocks tworzysz sobie pusty projekt i dodajesz sobie do niego plik main.cpp, a w nim piszesz podstawowy kod sprawdzający(tutaj masz przykładowy, prosto z wiki allegro):
#include <stdio.h>
#include <allegro5/allegro.h>
int main( int argc, char ** argv ) {
ALLEGRO_DISPLAY * display = NULL;
if( !al_init() ) {
fprintf( stderr, "failed to initialize allegro!\n" );
return - 1;
}
display = al_create_display( 640, 480 );
if( !display ) {
fprintf( stderr, "failed to create display!\n" );
return - 1;
}
al_clear_to_color( al_map_rgb( 0, 0, 0 ) );
al_flip_display();
al_rest( 10.0 );
al_destroy_display( display );
return 0;
}
3. W CodeBlocks wybierasz Projekt-Opcje kompilacji i przechodzisz na zakładkę Lokalizacja bibliotek lub coś innego(mam CB po angielsku i nie wiem jak to jest po polsku, po angielsku jest to zakładka Serach directories, jest to zakładka 3 od lewej strony, zaraz po zakładce Ustawienia linkera).
4. Tam wybierasz zakładkę Kompilator(zakładki położone niżej pod zakładkami głównymi) i podajesz scieżkę do folderu include, który wypakowałeś w punkcie pierwszym. Wyskoczy okienko z pytaniem, na które odpowiadasz Nie. Potem zmieniasz zakładkę na Linker i robisz to samo, ale podajesz ścieżkę do folderu lib.
5. Z głównych zakładek wybierasz zakładkę Ustawienia linkera, po lewej stronie zmieniasz zaznaczenie na Debug(jak wyskoczy pytanie czy zapisać klikasz Tak), potem kilkasz Dodaj i wpisujesz w okienko liballegro-5.0.10-monolith-mt-debug.a . Zmieniasz po lewo zaznaczenie na Release, potwierdzasz zapisanie i robisz to samo, tylko w okienko wpisujesz biblioteke liballegro-5.0.10-monolith-mt.a . Klikasz Ok, potwierdzasz zapis i już możesz kompilować.
6. Teraz dll. Jak tworzysz jakiś projekt gry sugerowałbym utworzyć jej osobny katalog i skopiować tam dll z katalogu bin, ale jak piszesz dla nauki to możesz podać ścieżkę do katalogu bin. W drugiej zakładce niżej masz taką opcję jak Katalog roboczy lub coś podobnego i podajesz w nim ścieżkę do katalogu, który ma potrzebne pliki dll. Na pytanie odpowiadasz Nie i to wszystko.
Powyższa receptura jest oczywiście pasująca do wszystkich bibliotek c++. Ustawiasz ścieżki, patrzysz w manualu jakie biblioteki musisz dołączyć i robisz reszte analogicznie. Sam tak instaluje wszystkie biblioteki, pomaga to zachować porządek. Analogicznie sprawa wygląda też w CodeBlocks na Linuksie, tylko, że tam z wiadomych względów nie dodaje się dll.