Mariusz M.

Mariusz M. Programista,
architekt
oprogramowania
embedded

Temat: Przydatne narzędzia, linki, komponenty, konfiguracja

Jako że od paru miesięcy pracuję z biblioteką wxWidgets, chciałbym się podzielić tutaj moimi doświadczeniami i przedstawić przykładową konfigurację i narzędzia których używam. Z pewnością ułatwi to start tym osobom, które jeszcze z 'widżetami' nie miały kontaktu.

Moja konfiguracja:
- WinXP/Win7
- kompilator MinGW 20111118
- NetBeans IDE 7.1 dla C++
- wxFormBuilder 3.1
- wxWidgets 2.8.12
- instalacja w C:\wxWidgets (najlepiej w folderze głównym, ścieżka bez spacji, pozwoli to uniknąć problemów w przyszłości)
- linia poleceń:
cd C:\wxWidgets\build\msw
mingw32-make -f makefile.gcc BUILD=release SHARED=1 UNICODE=1 USE_OPENGL=0 USE_ODBC=0 USE_XRC=0 DEBUG_INFO=0 USE_GDIPLUS=1


Opis procesu kompilacji zawarty jest w pliku C:\wxWidgets\docs\msw\install.txt, gdzie opisano jak utworzyć binaria dla poszczególnych systemów operacyjnych i kompilatorów.

Dobrze jest stworzyć sobie plik wsadowy bat i zapisać go razem z archiwum źródeł biblioteki, żeby w przyszłości szybko odtworzyć wersję skompilowaną.

Tutaj uwaga: jeśli po uruchomieniu polecenia dostaniesz komunikat 'Nie mozna znaleźc pliku (if not exist ...)' , to powodem jest kilka istniejących systemów budowania makefile z różnych zainstalowanych narzędzi (u mnie Borland, Msys, MinGW, Yagarto, MPLabX, Codesourcery) - należy tymczasowo pozmieniać ścieżki do tych narzędzi, tak by pozostał tylko jeden Msys z MinGW (lub inny zestaw narzędzi budujących) ze ścieżek podanych w zmiennej systemowej PATH.

Podana przeze mnie konfiguracja kompilacji spowoduje utworzenie plików DLL z interfejsem opartym na kodowaniu UNICODE, wersja release bez debug info, bez obsługi XRC.
Gdyby ktoś chciał użyć bibliotek statycznych (wynikowy exe będzie o kilka MB większy) należy usunąć opcję SHARED=1.Mariusz Midor edytował(a) ten post dnia 23.05.12 o godzinie 10:10
Mariusz M.

Mariusz M. Programista,
architekt
oprogramowania
embedded

Temat: Przydatne narzędzia, linki, komponenty, konfiguracja

Myślę że podstawą do użycia wxWidgets było narzędzie wxFormBuilder - bez tej aplikacji stworzenie sensownego interfejsu przez osobę zaczynającą dopiero zabawę było by prawdopodobnie niemożliwe. Główną trudnością jest chyba opanowanie użycia Sizerów, czyli obiektów pozycjonujących, na których leżą wszystkie kontrolki.

Aplikacja wxFormBuilder jest dobrym i w miarę dopracowanym narzędziem typu WYSIWYG (wersja 3.1 nie wysypuje się), obsługującym większość typów kontrolek wbudowanych w bibliotekę.
Zastosowany tu generator kodu konstruującego interfejs, razem z przyjętą metodą generowania prototypów funkcji obsługujących eventy od kontrolek, pozwala na wielokrotną edycję i przebudowę interfejsu. Przyjęto tu ciekawe rozwiązanie pozwalające na oddzielenie implementacji obsługi zdarzeń wygenerowanych przez program (szablonowe) od implementacji użytkownika. Mianowicie wszystkie funkcje obsługi eventów są funkcjami wirtualnymi, a programista tworzy klasę potomną formy/dialogu od klasy przygotowanej przez wxFormBuilder, i w niej tworzy własne implementacje tych funkcji eventów, które potrzebuje. Dzięki temu kod generowany i nasz nie wchodzą sobie w drogę.

Oczywiście istnieją już nowsze wersje opisywanych narzędzi, ale niejednokrotnie są one niestabilne, a zestaw przeze mnie przedstawiony gwarantuje bezstresową pracę.
Jeśli ktoś używa innej konfiguracji - piszcie! Pomożecie innym zaoszczędzić kilka dni prób.
Mariusz M.

Mariusz M. Programista,
architekt
oprogramowania
embedded

Temat: Przydatne narzędzia, linki, komponenty, konfiguracja

Dokumentacja biblioteki:
http://docs.wxwidgets.org
http://wiki.wxwidgets.org/

Komponenty:
http://wxcode.sourceforge.net - tutaj znajdziecie wiele dodatkowych komponentów i modułów (np wxSerialPort)Mariusz Midor edytował(a) ten post dnia 24.05.12 o godzinie 19:10

Następna dyskusja:

Komponenty i moduly




Wyślij zaproszenie do