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

Instalacja Allegro 5 (Windows)

[lekcja] Rozdział 1. Instalacja biblioteki Allegro 5 na Windowsie.

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:\allegro5

Krok 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 -Syu

Krok 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
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( 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.
Poprzedni dokument Następny dokument
Instalacja i konfiguracja Instalacja Allegro 5 (Linux)