C-kielen alkeisopas

C-kielisten ohjelmien kirjoittamista, kääntämistä ja suorittamista helpottaa kehitysympäristö eli IDE (Integrated Development Environment). IDE kokoaa yhteen ohjelmointiin tarvittavat työkalut, kuten tekstieditorin, kääntäjän ja debuggerin. Yksi vaihtoehto on Qt Creator -kehitysympäristö, joka tarjoaa helppokäyttöisen ympäristön C-ohjelmien kehittämiseen. Lisätietoa Qt:sta.

Qt Creatorin lisäksi C-ohjelmointiin voidaan käyttää myös muita suosittuja kehitysympäristöjä ja työkaluja. Esimerkiksi CLion, Visual Studio Code ja Code::Blocks tarjoavat hyvät työkalut C-ohjelmien kirjoittamiseen, kääntämiseen ja virheiden etsimiseen. Kehitysympäristön valinta riippuu käyttäjän tarpeista, käyttöjärjestelmästä sekä ohjelmointikokemuksesta. Tärkeintä on, että ympäristö tukee tehokasta ohjelmointia ja auttaa keskittymään itse ohjelmointiin.

Qt-asennus
Asennustiedoston lataaminen

Qt-asennustiedosto (Open Source versio) voidaan ladata sivustolta https://www.qt.io/download-open-source. Etsi ja lataa sivustolta "Qt Online Installer".

Asentaminen Windowsissa

Kun asennustiedosto on ladattu, voidaan asennus aloittaa.

Mikäli asennuksen alussa saat virheilmoituksen, että "dll-tiedosto puuttuu", sinun tulee ensin asentaa Microsoft Visual C++ kääntäjä. Voit ladata sen sivulta https://www.microsoft.com/en-us/download/details.aspx?id=52685. Valitse versio vc_redist.x64.exe ja suorita sovellus.

Oheisissa kuvissa näet valinnat, jotka tein Qt:n asennuksen aikana kuvat valinnoista

Asentaminen Linuxissa

Aluksi kannattaa tarkistaa löytyykö Qt oman Linux-version pakettien hallinnasta, jos löytyy, niin asennus kannattaa tehdä sen kautta.

Kun olet ladannut asennustiedoston , avaa Terminal ja siirry siihen hakemistoon, jossa tiedosto sijaitsee ja anna sitten seuraavat komennot

  • chmod +x qt-installer.run
  • ./qt-installer.run
Edellä siis sinun on annettava nimen qt-installer.run sijaan asennustiedoston oikea nimi, joka riippuu Qt:n versiosta.

Linuxissa tein oheisen kuvan mukaiset valinnat Linux asennuksen kuvat. Huom! Kuvissa asennetaan versio 5.15.0, mutta kannattaa asentaa uusin versio.

Ubuntuun pohjautuvissa Linuxeissa voit joutua asentaan lisäksi build-essential paketin komennolla
sudo apt-get install build-essential
Linux Mintissä jouduin ajamaan myös komennon
sudo apt install libgl-dev libglu-dev libglib2.0-dev libsm-dev libxrender-dev libfontconfig1-dev libxext-dev

Asentaminen Macissä

Macissä asennus tapahtuu, kuten Windowsissa, paitsi valinnoissa on rastitettava macOS, kuten kuvassa
asennus kuva.
Huom! Kuvassa asennetaan versio 5.15.2, mutta kannattaa asentaa uusin versio.

Build kansion määrittäminen

Suosittelen, että muokkaat Qt:n tekemän build kansion sijaintia ja nimeä seuraavasti (kts. kuva alla):

  • Käynnistä Qt-Creator, mutta älä avaa mitään projektia(*)
  • Windows ja Linux: Valitse Edit->Preferences ... (Vanhemmissa QtCreatoreissa: valitse Tools-valikosta Options). MAC: QtCreator->Preferences
  • Valitse vasemmalta valikosta Build & Run
  • Avaa välilehti Default Build Properties
  • Kirjoita kenttään Default build directory seuraava määritys
    ./%{JS: Util.asciify("build/")}
Kun nyt käännät Qt-projektisi, ilmestyy sen sisään kansio nimeltään build ja sen alle kansiot debug ja release.

Edellisestä on ainakin se etu, että Gittiä käytettäessä, voidaan .gitignoreen kirjoittaa rivi
build/
ja tällöin kaikki kääntäjän tekemät koodit jäävät pois repositorystä.
build config kuva

*)Jos jokin projekti on avattuna, kohdistuu asetusten muokkaus vain avattuun projektiin.

Samalla kannattaa tarkistaa, että konsolisovellukset ajetaan terminaalissa:

  • Klikkaa edellisessä ikkunassa välilehteä General
  • Tarkista, että kohdassa Default for "Run in terminal" on valittuna Deduced from Project
    build config kuva
  • Ja tarkista, että kohdassa Terminal ei ole valittuna Use internal terminal
    build config kuva

CMake ja Qmake

Qt-kehitysympäristössä projektien hallintaan voidaan käyttää joko Qmake- tai CMake-rakennusjärjestelmää. Qmake on Qt oma perinteinen työkalu, jonka avulla määritellään projektin tiedostot, asetukset ja käännösasetukset. Nykyään CMake on kuitenkin yleisesti suositumpi vaihtoehto, ja sitä käytetään laajasti myös Qt-projektien ulkopuolella. CMake mahdollistaa projektien joustavamman hallinnan ja paremman yhteensopivuuden erilaisten kehitysympäristöjen ja käyttöjärjestelmien kanssa. Uusissa Qt-projekteissa suositellaan yleensä CMake käyttöä.

Jos olet valinnut qmake-rakennusjärjestelmän ja luot projektin nimeltään esim1, Qt Creator luo projektin hakemistoon tiedostot esim1.pro ja esim1.pro.user.

Tiedostossa .pro määritellään projektiin kuuluvat tiedostot sekä projektin käännösasetuksia. Tiedostoa ei yleensä tarvitse muokata käsin kurssin perusharjoituksissa, mutta tarvittaessa sitä voidaan muuttaa projektin asetusten säätämiseksi. Tiedostoa ei kannata poistaa.

Tiedosto .pro.user sisältää käyttäjäkohtaisia projektiasetuksia, kuten kääntäjän asetuksia ja build-kansion sijainnin. Jos tiedoston poistaa ja projektin avaa uudelleen Qt Creatorissa, ohjelma luo sen automaattisesti uudelleen.

.pro.user-tiedostoa ei yleensä kannata lisätä Git-repositorioon, jos samaa projektia kehittää useampi ohjelmoija, koska tiedosto sisältää käyttäjä- ja konekohtaisia asetuksia.

Jos käytät CMake-rakennusjärjestelmää Qt Creatorissa, projektiin luodaan yleensä tiedosto CMakeLists.txt, joka toimii projektin keskeisenä määrittelytiedostona.

CMakeLists.txt-tiedostossa määritellään muun muassa projektin nimi, käytettävä Qt-versio, lähdekooditiedostot sekä tarvittavat kirjastot ja käännösasetukset. Tiedosto on CMake-projektin tärkein konfiguraatiotiedosto, ja sitä muokataan säännöllisesti projektin rakenteen muuttuessa.

CMake-projekteissa ei yleensä synny vastaavaa käyttäjäkohtaista tiedostoa kuin qmakessa (.pro.user). Qt Creator tallentaa käyttäjäkohtaisia ja työtilaan liittyviä asetuksia pääosin omaan kehitysympäristöönsä sekä projektin hakemistossa mahdollisesti olevaan .qtcreator-kansioon. Tästä syystä CMakeLists.txt-tiedosto on tärkeää pitää mukana versionhallinnassa (esim. Git), jotta kaikki kehittäjät käyttävät samaa projektimäärittelyä.

Qt Creator

Qt Creator on ns. IDE (Integrated Development Environment) eli integroitu kehitysympäristö. Koodin kirjoittamista nopeuttaa, kun opettelee käyttämään editorin pikanäppäimia (quick keys). Alla muutamia hyödyllisimpiä:

  • CTRL+SHIFT+/: Valitun lohkon kommentointi/kommentoinnin kumoaminen
  • CTRL+F: Etsi ja korvaa
  • CTRL+ALT+Down: Monista rivi
  • CTRL+Z: Peru edellinen komento



Toggle Menu