A fejlesztés során felmerülő nehézségeket a fejlesztés során tapasztal sorrendben tálaljuk.
Felvetődő problémák konfigurálás közben
A fejlesztés megkezdése során az egyik legnagyobb kihívást a keretrendszer megismerése
- Megfelelő C++ verzió választása
- GCC beállítása
Mivel szerettünk volna smart pointereket használni, így szükségünk volt a C++14-re. Ezt a .pro fájlban a következő makrót kellett elhelyeznünk:
QMAKE_CXXFLAGS_CXX11 += -std=c++14
Egyes gépeken a GCC 4.2-es verziója volt telepítve, ezért szükség volt ennek a frissítésére. Ez a terminalon keresztül egyszerűen megoldható volt. A Homebrew nevű program telepítése után csak az alábbi parancsot kellett beírni a terminálba:
brew install gcc
UI problémák
Create your own visual style… let it be unique for yourself and yet identifiable for others. Orson Welles
A UI fejlesztése során a legnagyobb problémát az adatok beállításához és az eredményeket, folyamatokat legjobban bemutató desing elemek kiválasztása, megalkotása volt a legnehezebb. Mivel QML-JavaScript párossal dolgoztunk olykor a debuggolás is nehézkes volt. Tapasztalataink szerint minél dinamikusabbra szeretnénk egy oldalt készíteni, annál inkább érdemes az elemek megrajzolását JavaScript-tel, kódból megtenni, mint QML oldalon.
Unit test bug
A Unit Teszt viszonylag egyszerű kis modul, a fejlesztés során viszont egy érdekes bug jelentkezett. Az akadály oszály Unit teszjéhez ugyanis szükség volt QpolygonF objektumokra, ehhez a projekt .pro fájljában importáltam a következőt
QT += qml quick widgets Ezzel már le is fordult a Unit teszt, cserébe a debugger elszállt a következővel:
Unknown option: '-qmljsdebugger=port:2348,block' Ezután kivettem a .pro fájlból a qml quick widget-et, de a probléma továbbra is megmaradt és csak egy hard reset segített rajta. (Megjegyzés: release módban lefutott a Unit Test, csak a debug mód volt a rossz.) A hibát azzal küszöböltem ki, hogy a QT -= gui sort QT += gui-ra.
Akadály megjelenítési problémák
Az eredeti elképzelésem az volt, hogy egy QList
Szerzők, verziók: Zelei Kristóf, Vógel Ákos, Laczkó Tibor