Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Autor: Michał Kozakiewicz (michal3)
Biblioteki C++

Instalacja Allegro 5 (Linux)

[lekcja] Rozdział 2. Instalacja biblioteki Allegro 5 na Linuxie.

Wprowadzenie

Post ten przeznaczony jest dla osób, które miały już wcześniej kontakt z systemem operacyjnym rodziny Linux. Skupię się głównie na omówieniu przygotowania biblioteki Allegro 5 do pracy. Aby opisać tę instalacje, przygotowałem dla siebie świeżo zainstalowany system. Wybrałem Debian'a, którego zainstalowałem w VirtualBox'ie, nazwa płyty instalacyjnej to debian-8.7.1-i386-CD-1.iso. Jako środowisko graficzne wybrałem XFCE, oraz włączyłem opcje instalowania zamkniętych źródłowo pakietów.

Krok 1 - Logowanie z uprawnieniami głównego administratora

Zaloguj się jako użytkownik z uprawnieniami root'a, wydając polecenie su hasło.

Krok 2 - Aktualizacja bazy pakietów

Należy zaktualizować bazę pakietów i zaktualizować system, po świeżej instalacji nie musimy tego przeprowadzać. Wydaj polecenia:

# apt-get update
# apt-get upgrade

Krok 3 - Instalacja podstawowych pakietów

W tym kroku zainstaluj następujące pakiety, aby następny kroki przebiegły bezbłędnie. Wydaj polecenie: # apt-get install mc make build-essential git

Krok 4 - Instalacja zależności biblioteki Allegro 5

Teraz należy zainstalować zależności biblioteki Allegro 5, wydaj polecenia:

# apt-get install pkg-config cmake cmake-curses-gui xorg-dev libgl1-mesa-dev libglu-dev libopusfile-dev libpng-dev
# apt-get install libcurl4-openssl-dev libfreetype6-dev libjpeg-dev libvorbis-dev libopenal-dev libphysfs-dev libgtk2.0-dev libasound-dev
# apt-get install libpulse-dev libflac-dev libdumb1-dev zlib1g-dev

Krok 5 - Pobranie źródeł biblioteki

Teraz musimy pobrać repozytorium GitHub'a biblioteki Allegro 5. W tym celu przechodzimy do katalogu użytkownika, w moim przypadku jest to komenda cd /home/michal037. Następnie wydajemy komendę git clone https://github.com/liballeg/allegro5.git.

Krok 6 - Przygotowanie do budowania biblioteki

Przechodzimy do nowo pobranego katalogu wydając polecenie cd allegro5. Następnie tworzymy katalog w którym zbudujemy bibliotekę. Wydajemy w tym celu polecenia:

mkdir build
cd build

Krok 7 - Ustawienia do procesu budowania biblioteki

Będąc w katalogu build, wydajemy polecenie: # ccmake -DCMAKE_INSTALL_PREFIX=/usr .. Wpisz z dwoma kropkami na końcu.
Powyższe polecenie powoduje przygotowanie biblioteki Allegro 5 do budowania, musimy wydać takie polecenie ponieważ projekt opiera się o program cmake.
Po wydaniu powyższego polecenia, na ekranie pokaże się kreator budowania biblioteki. Wciskamy klawisz C aby skonfigurować. W moim przypadku wyskakuje następujący komunikat:

S3TC locking disabled. You will not be able to load/save pre-compressed textures with OpenGL.
WARNING: allegro_video wanted but no supported backend found
Prawdopodobnie wynika on z braku jakieś zależności dla OpenGL. Nie powoduje on później problemu, możemy pominąć ten komunikat wciskając klawisz E. Jeżeli znajdziesz rozwiązanie tego problemu, proszę Cię o opisanie go.

Następnie ukaże się nam lista, poruszamy się strzałkami na klawiaturze, edytujemy klawiszem ENTER. Przechodzimy do opcji CMAKE_BUILD_TYPE, następnie zmieniamy argument tego parametru z RelWithDebInfo na Release.
Teraz bardzo ważne aby przejść na parametr WANT_DOCS i zmienić argument z ON na OFF. Musisz to wykonać ponieważ, wcześniej nie wspomniałem o zainstalowaniu paczek potrzebnych na wygenerowanie dokumentacji. Zrobiłem to ponieważ wygenerowanie dokumentacji jest trudne, trzeba posiadać sporo wiedzy do konfiguracji programów które tym się zajmą. Sami autorzy proponują odznaczyć tę opcję i korzystać z oficjalnej dokumentacji, jest ona zawsze aktualizowana. Link do tej dokumentacji znajduję się w części pierwszej.
Następnie znajdź parametry WANT_DEMO oraz WANT_EXAMPLES i zmień ich argumenty z ON na OFF. Piszę to ponieważ często powstają przez to błędy, wykonaj najpierw sprawdzoną metodą, następnie spróbuj wykonać dla siebie jak wolisz. Po powyższych zmianach wciskamy klawisz C aby wprowadzić zmiany, jeżeli pojawi się znów komunikat o błędzie który opisałem powyżej wciśnij klawisz E. W dolnym menu ukaże się dodatkowa opcja, wybieramy ją aby wygenerować ustawienia i zamknąć, klikamy klawisz G. Jeśli ukaże Ci się znów komunikat o błędzie, który będzie zawierał informacje dla deweloperów projektu, wciśnij klawisz E aby zamknąć.

Krok 8 - Budowanie i instalacja biblioteki

Teraz przyszedł czas na zbudowanie i zainstalowanie biblioteki, w tym celu w katalogu build wydajemy polecenie # make. Następnie instalujemy bibliotekę wykonując polecenie # make install.

Krok 9 - Oczyszczenie systemu z zbędnych plików

Czyścimy system z zbędnych plików, w tym celu przechodzimy do katalogu użytkownika gdzie jest folder allegro5. cd /home/michal037 następnie wykonujemy polecenie # rm -rf allegro5.

Krok 10 - Wyjście z konta administratora

Możesz teraz wyjść z konta z uprawnieniami root, wydaj polecenie exit.

Krok 11 - Tworzenie plików do testu biblioteki

Musimy teraz utworzyć folder w którym będziemy przetrzymywać nasze projekty, ja w tym celu przeszedłem do katalogu swojego użytkownika cd /home/michal037. Następnie wykonałem następujące polecenia:

mkdir workspace
cd workspace
mkdir 01_allegro5test
cd 01_allegro5test
touch main.c makefile

Teraz należy wypełnić plik main.c oraz makefile poniższą zawartością. W pliku makefile zobaczysz wpisy dla kompilacji pod system Windows, możesz je zignorować. W następnym poście opiszę cross-compiling dla Windowsa. Jeżeli zainteresuję Cie to, będziesz mieć już gotowe ustawienia.

Plik main.c
C/C++
#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( 20, 80, 150 ) );
    al_flip_display();
    al_rest( 3.0 );
   
    al_destroy_display( display );
   
    return 0;
}

Plik makefile

# Makefile for Allegro5 programs
####################


PROGRAM_NAME=program
SOURCES=main.c


####################
OUTPUT_DIR=bin
LINUX_GCC=gcc
LINUX_CFLAGS=-O2 -Wall
WINDOWS_GCC=i686-w64-mingw32-gcc
WINDOWS_CFLAGS=-O2 -Wall
ALLEGRO5_LINUX=`pkg-config --cflags --libs allegro-5 allegro_ttf-5 allegro_primitives-5 allegro_physfs-5 allegro_memfile-5 allegro_main-5 allegro_image-5 allegro_font-5 allegro_dialog-5 allegro_color-5 allegro_audio-5 allegro_acodec-5`
ALLEGRO5_WINDOWS=`pkg-config --cflags --libs allegro-5 allegro_ttf-5 allegro_primitives-5 allegro_physfs-5 allegro_memfile-5 allegro_main-5 allegro_image-5 allegro_font-5 allegro_dialog-5 allegro_color-5 allegro_audio-5 allegro_acodec-5`
export PKG_CONFIG_PATH=/usr/i686-w64-mingw32/lib/pkgconfig/
####################

.PHONY: all run clean help linux windows

all: linux

help:
 @echo "##### HELP #####"
 @echo "make all - build for linux and windows"
 @echo "make clean - clean up"
 @echo "make linux - build for linux only"
 @echo "make windows - build for windows only"
 @echo "make help - print this help"
 @echo "################"

linux:
 mkdir -p $(OUTPUT_DIR)/linux/
 $(LINUX_GCC) $(LINUX_CFLAGS) -o $(OUTPUT_DIR)/linux/$(PROGRAM_NAME) $(SOURCES) $(ALLEGRO5_LINUX)

windows:
 mkdir -p $(OUTPUT_DIR)/windows/
 $(WINDOWS_GCC) $(WINDOWS_CFLAGS) -o $(OUTPUT_DIR)/windows/$(PROGRAM_NAME).exe $(SOURCES) $(ALLEGRO5_WINDOWS)

run:
 $(OUTPUT_DIR)/linux/$(PROGRAM_NAME)

clean:
 rm -rf $(OUTPUT_DIR)

Następne linie po help: linux: windows: run: clean: zaczynają sie od tabulatora.

Krok 12 - Test poprawności działania biblioteki

Aby skompilować program, a następnie go uruchomić wydaj polecenia


make
make run

Powinieneś zobaczyć małe okno wypełnione kolorem.
Poprzedni dokument Następny dokument
Instalacja Allegro 5 (Windows) Cross-compiling na Windowsa