Wprowadzenie
Aby zacząć programować z użyciem tej biblioteki w rodzinie systemów Windows, będziemy potrzebować minimalny zestaw narzędzi. Poniższą instalacje wykonamy przy użyciu zestawu narzędzi MSYS2. Dlaczego właśnie taki sposób? Pobierając narzędzia MSYS2, dostarczamy sobie najnowszą wersję kompilatora języków C/C++ oraz najnowszą wersję biblioteki Allegro 5. Dla większej kompatybilności wybrałem wersję 32-bitową, jeżeli będziesz chciał/a skorzystać z wersji 64-bitowej jest taka możliwość.
Krok 1 - Pobranie instalatora MSYS2
Przechodzimy na stronę
msys2.org, następnie pobieramy instalator MSYS2 wersji 32-bitowej. Na dzień pisania tej publikacji nazwa instalatora to:
msys2-i686-20161025.exe.
Krok 2 - Instalacja pakietu programów MSSY2
Należy teraz zainstalować MSYS2 korzystając z instalatora.
Wpisując ścieżkę lokalizacji plików, nie wprowadzaj spacji ani żadnych znaków diakrytycznych. Znaki te mogą powodować błędy w kompilacji. Przykładowa lokalizacja to
C:\allegro5Krok 3 - Aktualizacja MSYS2
Po zainstalowaniu MSYS2 uruchamiamy go, następnie musimy wykonać aktualizacje. Wydajemy wiec polecenie:
pacman -Syu, gdy program zapyta się Ciebie o potwierdzenie dla operacji wciśnij klawisz
T. Po wykonaniu wstępnej aktualizacji program poprosi Cię o ponowne uruchomienie, wykonaj to wyłączając go krzyżykiem i następnie uruchamiając korzystając z pliku
C:\allegro5\msys2.exe. Teraz należy wznowić i dokończyć aktualizację wydając polecenie
pacman -SyuKrok 4 - Pobranie zależności
Teraz należy zainstalować potrzebne programy, aby później proces przebiegł bezbłędnie. W tym kroku również pobierzemy kompilatory C/C++. Wydaj polecenie
pacman -S git make tar mingw-w64-i686-toolchain. Potwierdzaj prośby o instalacje nowych składników. Dla wersji 64-bitowej nazwa kompilatora to:
mingw-w64-x86_64-toolchain, wtedy wystarczy zamienić nazwę pakietu 32-bitowego.
Krok 5 - Skrypt startowy MSYS2
W tym kroku stworzymy plik który będzie wykonywał się przy każdym uruchomieniu konsoli MSYS2. Pozwoli nam zaoszczędzić czas, automatycznie przechodząc do katalogu
/home oraz ustawiając zmienną systemową
PATH. Z poziomu Windowsa przechodzimy do katalogu
C:\allegro5\etc\profile.d. Tworzymy plik o przykładowej nazwie
skrypt1.sh, bardzo ważne jest rozszerzenie. Zwróć uwagę czy przypadkiem nie utworzysz pliku
skrypt.sh.txt. Zawartość pliku jest następująca:
Dla wersji 32-bitowej
#!/bin/bash
cd /home
PATH="$PATH:/mingw32/bin:/usr/bin"
Dla wersji 64-bitowej, zmień katalog
/mingw32 na
/mingw64.
Krok 6 - Pobranie skryptów budujących bibliotekę
Uruchom ponownie konsole MSYS2. Następnie będąc w katalogu
/home, należy pobrać repozytorium GitHub'a, w którym znajdziemy plik do zbudowania najnowszej wersji pakietu biblioteki Allegro 5. W tym celu wydajemy polecenie
git clone https://github.com/Alexpux/MINGW-packages.git.
Krok 7 - Wyłączenie antywirusa
Przechodzimy do katalogu w którym znajduje się potrzebny nam plik, wydając polecenie
cd /home/MINGW-packages/mingw-w64-allegro. Polecam w tym kroku wyłączyć antywirus, często podczas kompilacji powstają przez niego błędy. Sprawdza on również na bieżąco pliki, zwalniając cały proces.
Krok 8 - Budowanie biblioteki
Czas rozpocząć proces budowania biblioteki Allegro 5, wydajemy polecenie
makepkg-mingw -fsiL. Gdy skrypt który będzie budował bibliotekę, zapyta nas się o potwierdzenie dla instalacji nowych składników. Wciskamy klawisz
T, który zatwierdzi. Ostatnią czynnością o jaką zapyta nas skrypt, jest potwierdzenie instalacji nowo utworzonego pakietu który zawiera bibliotekę. Posiada on nazwę podobną do tej
mingw-w64-i686-allegro-xxxxxxxx, zgadzamy się i instalujemy bibliotekę.
Krok 9 - Usuwamy niepotrzebne pliki
Przechodzimy do katalogu
/home, w tym celu wydajemy polecenie
cd /home. Następnie usuwamy niepotrzebne pliki wydając polecenie
rm -rf MINGW-packages.
Krok 10 - Przygotowanie do testu biblioteki
Posiadamy zainstalowaną bibliotekę i gotowe środowisko do stworzenia pierwszego programu z jej użyciem. Jeżeli wcześniej wyłączyłeś antywirusa, możesz go teraz uruchomić. Potrzebujemy teraz utworzyć parę katalogów i plików, aby przetestować to co do tej pory robiliśmy. Przykład przedstawię w języku C. W tym celu wpisujemy następujące komendy:
cd /home
mkdir workspace
cd workspace
mkdir 01_allegro5test
cd 01_allegro5test
touch main.c makefile
Krok 11 - Przygotowanie plików pierwszego programu
Z poziomu Windowsa przechodzimy do katalogu
C:\allegro5\home\workspace\01_allegro5test, następnie dowolnym edytorem tekstu wypełniamy pliki tak jak poniżej.
Plik main.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( 25, 60, 120 ) );
al_flip_display();
al_rest( 3.0 );
al_destroy_display( display );
return 0;
}
Plik makefile:
APPNAME=myprog.exe
SRCS=main.c
CC=i686-w64-mingw32-gcc
CFLAGS=-o $(APPNAME) -Wall -O2
ALLEGRO=`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`
.PHONY: all main clean
all: clean main
main:
$(CC) $(CFLAGS) $(SRCS) $(ALLEGRO)
clean:
rm -rf *.o $(APPNAME)
W pliku
makefile, po słowie
main oraz
clean,
następna linia musi zaczynać się od
tabulatora.
Krok 12 - Test sprawdzający poprawność działania
Już w konsoli MSYS2 będąc w katalogu
01_allegro5test wydajemy polecenie
make, zbuduje ono program. Uruchamiamy program wydając polecenie
./myprog.exe. Jeżeli wszystko przebiegło prawidłowo, ujrzysz małe okienko które będzie wypełnione kolorem.
Dodatkowe informacje
Zwróć uwagę że w kroku 5, tworzyliśmy plik który modyfikował zmienną
PATH i dodawał lokalizacje w której znajdują się biblioteki Allegro 5. Pliki z rozszerzeniem
.dll oraz kompilator języka C/C++. Jeżeli będziesz chciał uruchomić swój program, nie korzystając z konsoli MSYS2. Musisz dołączyć do pliku wykonywalnego
.exe, biblioteki Allegro 5 z rozszerzeniem
.dll oraz parę innych bibliotek zależności.
W kolejnych publikacjach na temat tej biblioteki, postaram się omówić jak dołączyć zależności biblioteki przy procesie kompilacji. Jak używać biblioteki z IDE. Na sam koniec postaram się omówić zagadnienie w którym omówię jak wbudować biblioteki bezpośrednio w program wykonywalny, oraz co się z tym wiąże.