Wiem, że to bezsensowne odpowiadać samemu sobie (w tym samym wątku/poście), ale robię to po to, żeby:
1. Zwrócić uwagę, że w poruszonym przeze mnie temacie coś drgnęło w dobrym kierunku.
2. Oddzielić treści istotne, które opiszę za chwilę od nieistotnych które zostały napisane we wcześniejszym wątku.
Temat dotyczy konfiguracji GUI (Graphical User Interface) w Windows na potrzeby tworzenia aplikacji w C/C++.
Sposób sprawdzony przeze mnie to używanie kompilatora MinGW wraz ze środowiskiem Code::Blocks oraz bibliotekami wxWidgets.
Zanim przystąpię do omówienia instalacji pragnąłbym zwrócić uwagę, że -w moim przypadku- miałem już zainstalowane środowisko eclipse + atmel toolchain. Nie wpływa to oczywiście na instalację/konfigurację MinGW/CodeBlocks/wxWidgets, ale też i nie stwarza zagrożenia o ile ktoś postępuje wg omówionej przeze mnie instrukcji. Uważam, że instalacja eclipse+atmel toolchain może się odbyć zarówno przed jak i po instalacji MinGW/CodeBlocks/wxWidgets.
Pamiętajmy, że dobrze jest na początku pobrać pliki instalacyjne gdzieś na dysk, a potem rozpocząć instalację.
Poniżej przedstawiam kolejność instalacji i wersje instalowanych środowisk/bibliotek programistycznych:1. Należy rozpocząć od instalacji kompilatora MinGW, który KONIECZNIE należy zainstalować na tym samym dysku na którym mamy zainstalowany Windows - w moim przypadku ścieżka do MinGW to: C:\MinGW
Jest to ponoć zalecenie jednego z głównych twórców systemu Windows - Aarona hmm.. nie pamiętam nazwiska, no nieważne
Kompilator MinGW najlepiej pobrać w postaci instalatora (pliku exe, bo są też spakowane wersje kompilatorów jako zip/tgz itp.) w wersji 5.1.x lub wyższej (taka jest zalecana). Pobieramy więc jakiś instalator MinGW np. MinGW-5.1.3.exe. Podaję link do instalatora, którego ja użyłem:
http://prdownloads.sourceforge.net/mingw/MinGW-5.1.3.exePo pobraniu klikamy w exe i instalujemy KONIECZNIE na tym samym dysku gdzie jest Windows, w GŁÓWNYM katalogu, czyli np. C:\MinGW. Zalecam użyć instalację FULL, ponieważ czasem zdarzają się wtyczki, które wymagają różnych kompilatorów, ale jest to oczywiście tylko moje zalecenie.
Następnie musimy zaktualizować zmienną systemową PATH, czyli krótko mówiąc dodać ścieżkę do systemu Windows gdzie znajduje się MinGW. W Windows XP robimy to wchodząc do: START->Ustawienia->Panel Sterowania->System->Zaawansowane->Zmienne Środowiskowe.
Pojawia się nam takie okienko z dwoma innymi okienkami w środku
- u góry mamy możliwość wprowadzenia do systemu nowej zmiennej użytkownika -w moim przypadku Administratora (kolor czerwony), a na dole mamy możliwość wprowadzenia nowej zmiennej systemowej (kolor zielony) i edycji systemowej ścieżki PATH (kolor niebieski). W Windows XP takie okienko powinno wyglądać mniej więcej tak:
To co jest tutaj istotne w wyjaśnieniu to to, że kiedy za pierwszym razem otworzycie to okno nie będzie jeszcze żadnych zmiennych systemowych i użytkownika - należy je stworzyć (obie takie same zmienne tyle, że w tych dwóch oddzielnych okienkach -tak jak na obrazku). Klikamy "Nowa" i w polu "Nazwa zmiennej" wpisujemy "MINGW" (bez cudzysłowów), a w polu "Wartość zmiennej" podajemy ścieżkę, czyli np: "C:\MinGW".
Po dodaniu zmiennych do systemu pora na edycję ścieżki PATH Windows -> w tym celu klikamy w dolnym okienku kursorem na PATH (podświetlamy), a następnie na Edytuj. Otwiera się okienko z kompletną ścieżką systemową (uważamy, żeby niczego nie skasować z tej ścieżki), więc gdzieś w tym polu edit podajemy ścieżkę do kompilatora MinGW. Nie jest istotne czy na początku, czy na końcu, ale ważne jest, żeby jedna ścieżka od drugiej była oddzielona ";" średnikiem i zalecane jest, żeby nie kończyła się back-slashem "\". Po prostu, na końcu całej ścieżki wklepujemy ";C:\MinGW" i już.
Zamykamy wszystkie okna kolejno klikając na "OK" i restartujemy system.
2. Pora na instalację Code::Blocks.
Ściągamy z internetu instalatora CodeBlocks w wersji 13.12 BEZ MINGW, czyli codeblocks-13.12-setup.exe
Link skąd można ściągnąć:
http://sourceforge.net/projects/codeblocks/files/Binaries/13.12/Windows/codeblocks-13.12-setup.exeNastępnie odpalamy instalator i instalujemy CodeBlocks TAKŻE NA TYM SAMYM DYSKU CO MINGW, TAKŻE W GŁÓWNYM KATALOGU czyli np.: "C:\Codeblocks". Jeżeli zapyta gdzie znajduje się kompilator MinGW (raczej nie powienien, bo Windows mu wszystko "powie" - wszak są już zmienne systemowe) to podajemy mu ścieżkę do MinGW, czyli C:\MinGW.
Pod koniec instalacji instalator CodeBlocks zapyta się nas czy chcemu już teraz uruchomić środowisko (CodeBlocks rzecz jasna) - sugeruję kliknąć na NIE - niech dokończy się instalacja i wtedy.
Teraz (zanim odpalimy po raz pierwszy CodeBlocks) trzeba przygotować coś takiego jak w eclipse, czyli tzw. workspace dla CodeBlocks. Workspace dla CodeBlocks może być na obojętnie jakim dysku (niekoniecznie tam gdzie MinGW i gdzie stoi system Windows). Tworzymy zatem katalog np. "workspace4cb" na dysku c: - czyli pełna ścieżka byłaby jakoś tak:"C:\workspace4cb".
Następnie uruchamiamy Codeblocks, który od razu zapyta się nas gdzie chcemy żeby był workspace - podajemy wybraną ścieżkę i... zamykamy Codeblocks. Pamiętamy, że pozostała jeszcze instalacja wxWidgets...
3. Instalacja wxWidgets:
Uprzedzam, że jeśli ktoś nie zainstalował poprawnie MinGW i CodeBlocks to instalacja wxWidgets nie ma większego sensu. Dodatkowo pragnę poinformować, że jest to proces dość czasochłonny, ale do rzeczy..
Ściągamy instalatora wxWidgets w którejś z wersji 2.8.x np. wersję 2.8.12 (zalecana) z np:
https://sourceforge.net/projects/wxwindows/files/2.8.12/wxMSW-2.8.12-Setup.exeDalej odpalamy instalator exe i jako ścieżkę do instalacji podajemy "C:\wxWidgets-2.8.12" (zalecana).
(dalszą część instalacji tłumaczę w oparciu o to, że wxWidgets zainstalowany jest na "C:\wxWidgets-2.8.12")
Po rozpakowaniu wchodzimy do konsoli Windows, czyli klikamy na:
START->Uruchom->cmd.exe
W konsoli kolejno wpisujemy i zatwierdzamy ENTER'em (to co w cudzysłowie, ale bez cudzysłowu):
1. "cd /D C:\wxWidgets-2.8.12\build\msw"
2. "mingw32-make -f makefile.gcc clean"
3. "mingw32-make -f makefile.gcc BUILD=debug SHARED=0 MONOLITHIC=1 UNICODE=1"
4. "mingw32-make -f makefile.gcc BUILD=release SHARED=0 MONOLITHIC=1 UNICODE=1".
Załatwione, tzn. mamy zainstalowane: MinGW, Code::Blocks, oraz biblioteki wxWidgets.
Aby cokolwiek stworzyć w przyjaznym dla użytkownika GUI należy odpalić teraz CodeBlocks, a następnie wybrać:
File->New->Project... ->wxWidgets project, potem "Next", jeszcze raz "Next".
Następnie wyskoczy okno gdzie trzeba podać nazwę projektu i katalogi z nim związane (o ile wszystko zainstalowało się okey to trzeba będzie podać tylko nazwę).
Kolejne okno które wyskoczy dotyczy danych nt. autora projektu - można wypełnić lub pozostawić puste.
W kolejnym oknie z "prefered GUI builder" wybrać wxSmith, a z "Aplication Type" wybrać "Frame Based".
Kolejne okno pyta się o ścieżkę do bibliotek wxWidgets, a więc podajemy "C:\wxWidgets-2.8.12", chyba że zainstalowaliśmy gdzie indziej.
Następne okno pyta się o rodzaj kompilowanego projektu (Debug czy Release czy oba) - aby przetestować sugeruję wybrać oba.
W kolejnym oknie zaznaczamy "ptaszkami" następujące pozycje: "wxWidgets is build as a monolithic library" (drugie z góry), "Enable unicode" (trzecie z góry), oraz "Configure Advanced Options" i klikamy "Next".
W ostatnim już oknie jakim nam wyskoczy zadbajmy aby były zaznaczone pozycje: "GUI Mode Aplication" - zarówno dla Debug jak i dla Release. Cóż... Klikamy "Next" i oto pojawia nam się okno z formatką i środowiskiem wxWidgets w wersji wxSmith w CodeBlocks działające pod kompilatorem MinGW.
W celu zapoznania się z dalszą pracą w wxWidgets odsyłam -póki co- do google.
Pisząc ten mini manual korzystałem z instrukcji dostępnych pod linkiem:
http://edu.i-lo.tarnow.pl/inf/utils/013_2013/0304.phpZa ewentualne błędy przepraszam. Mam nadzieję, że komuś to się przyda. Na zakończenie dodam, że podobnie można skonfigurować MinGW + CodeBlocks + wxWidgets pod linuxem i -teoretycznie- projekt wykonany na linuxie czy na windows powinien bezproblemowo odpalić się na którymkolwiek z tych systemów.
Pozdrawiam! Jarek