Hľa, obrázkový seriál v duchu Bravíčka: akurát pôjde o vytváranie projektu v Qt Creatore.
1.
V prvom kroku obdivujeme uvítaciu obrazovku a klikneme na tlačidlo Create Project:
2.
Chceme vytvoriť triviálny projekt: vyberieme teda kategóriu Other Project a Plain C Project.
3.
V ďalšom kroku zvolíme názov projektu (hello
) a adresár, v ktorom sa má vytvoriť projektový podadresár. V tomto prípade projekt vznikne v adresári C:\Projects\qt\hello
. Adresár v chlieviku Create In musí existovať, inak sa bude sprievodca sťažovať.
4.
V tomto kroku nebudeme robiť nič: náš projekt totiž nebude spriahnutý so žiadnym CVS, ani SVN, ani iným príkladom verzionovacieho systému.
5.
V poslednom kroku sprievodcu len potvrdíme možnosti buildovania. Na našej začiatočnícke mozočky sú zbytočne komplikované: stačí sa uspokojiť so štandardnými možnosťami.
6.
A ľaľa, vznikne nový projekt. Qt Creator vygeneruje ukážkový súbor main.c
s kódom pre Hello World.
7.
V ďalšom kroku sa postaráme o spúšťanie konzolových programov. Máme dve možnosti: spúšťanie v externom termináli (alias separátnom čiernom okne) alebo spúšťanie v internej konzole Qt Creatora. Prvá možnosť je jediným spôsobom, ktorým možno zabezpečiť načítavanie vstupu z klávesnice, ale žiaľ je extrémne nestabilná a spôsobuje kadejaké náhodné chyby. Lepšou voľbou je teda druhá možnosť: lebo koniec-koncov, ako často zadávate vstup do programu rovno z konzoly? Odčiarkneme teda Run in Terminal.
8.
Nasledovné tri kroky nie sú povinné, ale výrazne zjednodušia ladenie začiatočníckych projektov. Problém je v tom, že pokiaľ máte v kóde chyby, ktoré sú len varovaniami, a projekt spustíte viackrát bez zmeny, Qt Creator vás na ne už druhýkrát neupozorní — a spôsobí to trhanie vlasov. Nastavme teda projekt tak, aby sa s každým spustením prekompiloval celý zgruntu nanovo. To síce bude trvať o niečo dlhšie: ale úprimne. Naše trojsúborové projekty to nijak dramaticky neovplyvní.
8.1.
V prvom kroku dodáme nový Build Step, teda krok v zostavovaní projektu, v ktorom nastavíme automatické čistenie projektu s každým zostavením. V ľavom paneli zvolíme Projects, a v sekcii Build Settings klikneme na Add Build Step.
8.2.
Build Step bude pozostávať z fázy čistenia (clean), keď sa vymažú všetky zbudované projektové súbory, aby sa hneď v ďalšom kroku zostavovania vybudovali nanovo. Do textového chlievika Make arguments dopíšeme clean
. Následne si všimneme významnú šípku nahor (Move Up), ktorou posunieme čistenie z tretieho kroku zostavovania na druhý krok.
8.3.
Naše zostavovanie teraz pozostáva z 3 fáz: prvej qmake
, druhej make clean
(čistiacej) a tretej zostavovacej:
9.
Ak píšeme Cčkové programy, na začiatku je viac než vhodné, aby kompilátor zachytil čo najviac chýb a upozornil nás na čo najväčšie množstvo vecí. Keby sme mali Linux a kompilovali by sme zdrojáky cez gcc
, použili by sme širokú škálu parametrov:
gcc -Wall -Wextra -Werror -pedantic -ansi hello.c
Parametre postupne znamenajú:
-ansi
vypne všetky vlastnosti, ktoré nie sú kompatibilné s normou. Štandardom je norma C89/90.-pedantic
zapne všetky varovania vyžadované normou a odmietne kompilovať programy s neštandardnými rozšíreniamim, či v spore s normou.-Wall
zapne varovania k mnohým diskutabilným či potenciálne rizikovým konštrukciám.-Wextra
zapne ďalšie dodatočné varovania k podozrivým konštrukciám (podrobnosti sú v dokumentácii ku kompilátorugcc
-Werror
spraví zo všetkých varovaní kompilačné chyby — inak povedané, odmietne skompilovať program, ktorý obsahuje nejaké podozrivosti. V niektorých extrémnych prípadoch s tým môže byť problém, ale my začiatočníci na to narazíme… zrejme nikdy.
V adresárovej štruktúre vyberieme ultimátny konfigurák projektu: .pro
súbor, v našom prípade hello.pro
. Dodáme direktívu
QMAKE_CFLAGS_DEBUG += -Wall -Wextra -Werror -pedantic -ansi
ktorou definujeme všetky parametre pre kompilátor.
10.
V poslednom kroku si ukážeme, ako zafungujú všetky nastavené veci. Zo zdrojáku sme schválne zmazali riadok return 0
a skúsili sme spustiť projekt buď cez zelené tlačidlo Play v ľavom paneli alebo pomocou skratky Ctrl+R. Kompilátor nás hneď oplieska varovaniami, resp. chybami, ktoré súvisia s faktom, že funkcia main()
nevracia vždy návratovú hodnotu. Zobrazí sa hneď karta Issues so zoznamom chýb, kde možno dokonca mnohokrát vidieť aj konkrétne číslo riadku s chybou. Ak poznáte z Javy prostredie Eclipse a jeho kartu Problems, tento prístup je vám dôverne známy.
Záver
V desiatich krokoch sme si ukázali, ako rozbehať Qt Creatora a nový projekt v ňom. Hor’sa do kódenia pravých výkonných programov!