ATNEL tech-forum
https://forum.atnel.pl/

RAD w wersji CodeBlocks czy w wersji nowego Qt v.5.0 wzwyż?
https://forum.atnel.pl/topic7937.html
Strona 1 z 1

Autor:  j23 [ 28 lip 2014, o 16:35 ]
Tytuł:  RAD w wersji CodeBlocks czy w wersji nowego Qt v.5.0 wzwyż?

Witam,

Zauważyłem, że wiele osób na tym forum zmaga się z tzw. RAD, czyli Rapid Application Development w postaci Borland C++ Buiilder (najczęściej 6.0, chociaż widziałem także wzmianki o tym z 2010 roku). W związku z tym postanowiłem napisać, zadać pytanie, czy szanowni koledzy spotkali się może, a może także już skonfigurowali takie środowisko pracy jak CodeBlocks z wtyczką Qt Designera? - już piszę o co chodzi. Otóż..
Normalnie jest tak, że konfigurujemy Eclipse do pracy z mikrokontrolerami avr - wszystko jasne i bardzo dobrze opisane w książce Pana Mirka (Bluebook).
Przychodzi jednak taki czas, kiedy jakiegoś tam elektronicznego sterownika chcemy wykonać kompletny projekt tzn. elektroniczny sterownik + najlepiej jakaś aplikacja z PC'eta która nim steruje. No właśnie, jak napisać taką aplikację. Z pomocą przychodzi jak zwykle nieśmiertelne studio Borlanda BCB v.6, lub nie tak całkiem stare MS Visual C++ 2010. Wszystko ładnie, pięknie, ale byłoby naprawdę nieźle gdyby tak móc korzystać z CAŁKOWICIE z integrowanego środowiska, którym mogło by się stać Eclipse jako rdzeń (autouzupełnianie kodu z funkcjami jakie "widzi" eclipse, etc.).
Ze swojej osobistej praktyki wiem, że możliwe jest takie skonfigurowanie CodeBlocks + Qt Designer (zamiast np. BCB 6) żeby używać zintegrowanego środowiska do tworzenia "okienek" windowsowych (ekspresowe tworzenie aplikacji), nie wspominając o innych możliwościach jak np. ułatwienie korzystania z protokołu RS232.

Pytanie które chciałem zadać do tych bardziej doświadczonych kolegów w sprawach pisania aplikacji C++ na PC dotyczy tego JAK POŁĄCZYĆ środowisko Eclipse (zawierające już wtyczkę do avr) ze środowiskiem CodeBlocks+ Qt Designer.
W moim skromnym mniemaniu są dwie możliwości:
1. Zainstalować wszystko z możliwie maksymalnie spójną konfiguracją, tzn. mam tu na myśli dopasowanie WSZYSTKICH komponentów co do ich wersji (np. Qt wersja 4.6, odpowiednia wersja Qt plugin'a do Eclipse, odpowiednia wersja MinGW dla CodeBlocks, odpowiednia wersja CodeBlocks, odpowiednia wersja Eclipse oraz oczywiście plugin do eclipsa dla avr).
2. Eclipse Indigo + plugin dla avr, a do tego zainstalować najnowszą wersję Qt Designera jako środowiska RAD dla aplikacji C++ dla PC. Jak połączyć to do Eclipse? Niestety nie wiem... Znalazłem plugin'y do Eclipse do QT, ale nie wiem którą wersję wybrać:
ftp://ftp.informatik.hu-berlin.de/pub/Linux/Qt/QT/qteclipse/

Pytam, bo chcę się podjąć tego zadania (instalacja + konfiguracja środowiska RAD + Eclipse). Nie dołączałem jeszcze niczego innego do Eclipse oprócz tego plugin'a do avr, a mam przeczucie, że to mogłoby usprawnić pracę nie tylko mnie.

Mam nadzieję, że w miarę jasno wszystko opisałem. Jeśli nie, proszę pytać to dopiszę co trzeba, bo też nie chcę pisać całej biblii a jedynie nadmienić na czym polega pomysł/problem.

Edit1:21:52:2014.07.28
Jak na razie przetestowałem instalkę Qt 5.3 + wybór MS Visual C++ 2010 jako kompilatora (eclipse zgodnie z zaleceniami Pana Mirka).
Nie polecam jednak instalować przez instalator Qt kompilatora MS Visual C++ 2010, z dwóch powodów:
- wtyczka do eclipse w najnowszej wersji 1.6.1 wymaga kompilatora MinGW
- MS Visual C++ 2010 zawsze można zainstalować osobno (ma dobry instalator w przeciwieństwie do MinGW, gdzie bardzo trzeba uważać na zgodność wersji)
Ostateczna instalacja (jeśli się uda) to będzie prawdopodobnie coś takiego:
- eclipse + wtyczka avr + atmel toolchain - wg książki Pana Mirka
- zainstalowany Qt w wersji 5.3 wraz z kompilatorem MinGW (wersja MinGW prawdopodobnie 4.8.0)
- wtyczka Qt do eclipse w wersji 1.6.1 z linku który podałem powyżej
Osobno mam zainstalowane środowisko RAD MS Visual C++ 2010 (formatki i te sprawy poprzez kompilator MS), natomiast instalacja MinGW podyktowana jest tym, żeby poprawnie zainstalować wtyczkę do eclipse (która wymaga katalogu, gdzie jest qt oraz kompilatora MinGW).
Uwaga! Środowisko QT "trochę" się instaluje (2,7 Gb), więc spokojnie można pójść sobie na kawę, albo np. skosić trawnik (pozdrowienia dla Kopalnego). ;)
System operacyjny pod jakim pracuję to Windows XP Pro + SP3.
Jak uda mi się wszystko "ustawić" jak należy podam szczegółową instrukcję instalacji krok po kroku.
Acha, co do kompilatora MS to pewnie każdy wie, że chociaż jest darmowy, to po jakimś tam czasie trzeba się zarejestrować na stronie Microsoft'u, żeby móc używać (pomimo iż jest darmowy).

Edit2:16:12:2014.07.29
Przetestowałem obecnie konfigurację w postaci:
1. Eclipse Indigo wg sugerowanej konfiguracji opisanej przez Pana Mirka
2. Qt wersja 5.3.0 (najnowsza) wraz z kompilatorem MinGW 4.8.2, który CO WAŻNE jest instalowany przez instalator Qt (menadżera pakietów)
3. Wtyczka qt do Eclipse w wersji 1.6.1

Niestety nie ma dobrych wieści, tzn. niby cała instalacja powiodła się, wszystko się zainstalowało, ALE później gdy odpali się Eclipse i próbuje skompilować projekt pod Eclipse używając bibliotek Qt (przez wtyczkę), to w oknie konsoli informacji wychodzi błąd, że Eclipse nie widzi pliku gcc.exe (POMIMO, ŻE zarówno instalacja środowiska QT jak i później instalacja wtyczki QT do Eclipse przebiegła bez problemów i zarówno ścieżki jak i sam plik jest obecny!) :shock: .
Nie wiem czy słusznie, ale przypuszczam, że taki stan rzeczy jest przez przestarzałą wtyczkę do Eclipse, która PRAWDOPODOBNIE wymaga wcześniejszej wersji kompilatora MinGW, a bez niego ta wtyczka pod Eclipse nie chce działać (nie może być np. kompilatora jako MS Visual C++ 2010). :(

Moim zdaniem są cztery wyjścia z tego problemu (mając na myśli używania darmowego środowiska RAD do tworzenia formatek, okienek etc.):
1. Najtrudniejsze: spróbować przekompilować wtyczkę do Eclipse tak, żeby działała z nowszym kompilatorem (nie piszę się jednak na to, bo z uwagi na wielkość samego środowiska QT 5.3.0 jak i ociężałość działania jest to pozbawione sensu). Najnowsze Qt może się sprawdzić w Windows 8, gdzie trzeba wykonać jakąś aplikację typu gadżet na komórkę, etc. Poza tym najnowsze QT to MOIM ZDANIEM przerost "formy nad treścią" a to, że Qt nie wspiera w żaden sposób Eclipsa, to jest dla twórców Qt jak strzał w kolano.
2. Sposób drugi to osobne korzystanie z Eclipsa jako środkowiska dla avr i osobne korzystanie z MS Visual C++ Express jako środowiska do tworzenia formatek, obsługi protokołu RS-232 z PC'eta itp.
3. Sposób trzeci to tak jak powyżej osobne korzystanie ze środowisk dla avr i aplikacji dla PC, z tym że zamiast MS Visual C++ Express można korzystać z najnowszego Code::Blocks i bibliotek wxSmith, które są automatycznie dołączone do Code::Blocks. Sugeruję zainstalować Code::Blocks wraz z domyślnym dla danej wersji CB kompilatorem.
4. Używać przestarzałej wtyczki Qt do Eclipse wraz z przestarzałym kompilatorem MinGW. :|

Sposób 3 osobiście preferuję gdy potrzebuję mieć przenośny kod (Code::Blocks w dość prosty sposób umozliwia przenośność kodu C++ pomiędzy systemami). Sposób 2 jest dobry, gdy chce się mieć pewność, że pod Windowsem aplikacja na pewno "zaskoczy".

Pozdrawiam! Jarek

P.S. Panie Mirku, to mój pierwszy post tutaj, dlatego chciałem Panu serdecznie podziękować za ŚWIETNĄ książkę nt. programowania u-kontrolerów w C! Nie jest napewno tania, ale JEST WARTA swojej ceny. Dziękuję Panu za tego Bluebook'a! :)

Autor:  j23 [ 12 sie 2014, o 01:53 ]
Tytuł:  Re: RAD w wersji CodeBlocks czy w wersji nowego Qt v.5.0 wzw

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.exe

Po 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:
Obrazek
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.exe
Nastę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.exe
Dalej 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.php

Za 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

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/