Instrukcja instalacji winbgim 1. Przegląd instalacji Instalacja winbgim polega na przekopiowaniu w odpowiednie miejsca dwóch plików: pliku biblioteki, zawierającego m.in. skompilowane funkcje (libbgi.a), pliku nagłówkowego, zawierającego definicje dla kompilatora (graphics.h). Dodatkowo w środowisku deweloperskim trzeba wskazać, z jakimi bibliotekami ma być linkowany program wykorzystujący grafikę. 2. Pobranie plików Zmodyfikowane w stosunku do oryginalnej dystrybucji pliki należy pobrać z Moodle, jako jedno archiwum ZIP. W archiwum znajdują się dwa istotne pliki: graphics.h plik nagłówkowy z definicjami funkcji i innych niezbędnych elementów libbgi.a plik biblioteki, ze skompilowanymi funkcjami 3. Kopiowanie plików Utworzyć katalog: C:\inf\winBGIm. Następnie do tego katalogu skopiować wypakowane z archiwum ZIP pliki: graphics.h libbgi.a 4. Konfiguracja kompilatora Uruchomić środowisko programistyczne Code::Blocks. Wybrać w menu : Settings Compiler W zakładce Compiler Settings wybrać pod-zakładkę Other Options i wpisać (rys.1): -Wno-write-strings 1/5
Rys. 1: Ustawienie opcji kompilatora W zakładce Search Directories wybrać pod-zakładkę Compiler i wpisać (rys.2): C:\inf\winBGIm (czyli ścieżkę katalogu, do którego trafiły pliki w p.3) Rys. 2: Ustawienie ścieżki kompilatora (w okienku widać ścieżkę c:\inf3\winbgim, lecz zawsze powinna być to ścieżka do tego katalogu, w którym w p.3 umieszczono plik graphics.h). 2/5
5. Konfiguracja linkera W środowisku programistycznym Code::Blocks wybrać w menu : Settings Compiler W zakładce Linker Settings wpisać do Other linker options (rys.3): -Wl,--enable-auto-import -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 Rys. 3: Ustawienie opcji linkera W zakładce Search Directories wybrać pod-zakładkę Linker, i wpisać (rys.4): C:\inf\winBGIm (czyli ścieżkę katalogu, do którego trafiły pliki w p.3) 3/5
Rys. 4: Ustawienie ścieżki do biblioteki dla linkera (w okienku widać ścieżkę c:\inf3\winbgim, lecz zawsze powinna być to ścieżka do tego katalogu, w którym w p.3 umieszczono plik libbgi.a) 6. Weryfikacja Skopiować poniższy kod do IDE, zapisać jako plik z rozszerzeniem CPP, spróbować skompilować go i uruchomić. Jeżeli udało się, to znaczy że instalacja się powiodła. #include <graphics.h> #include <stdio.h> int main() { int errorcode; initwindow(getmaxwidth()/2, getmaxheight()/2); // otwarcie okna graficznego errorcode = graphresult(); // weryfikacja, czy inicjalizacja sie udala if (errorcode!= grok) { // problem! printf("blad BGI: %s\n", grapherrormsg(errorcode)); printf("wcisnij dowolny klawicz, zeby zakonczyc:"); getch(); } else { line(0, 0, getmaxx(), getmaxy()); //narysuj linie outtextxy(100,5,"udało się, uruchomiłeś grafikę!"); getch(); closegraph(); //zamknij okno graficzne } } 7. Typowe błędy Sytuacja Objaw Przyczyna Podczas kompilacji graphics.h: No such file or directory Plik graphics.h nie został skopiowany do właściwego katalogu, lub podano niewłaściwy katalog w konfiguracji kompilatora 4/5
Po kompilacji, podczas linkowania Po kompilacji, podczas linkowania `getmaxwidth' was not declared in this scope cannot find -lbgi [Linker Error] undefined reference to `getmaxheight' Plik libbgi.a nie został skopiowany do właściwego katalogu, lub podano niewłaściwy katalog w konfiguracji linkera Nie wprowadzono ustawień linkera 5/5