C-kielen alkeisopas

C-kielisten ohjelmien kirjoittamista ja suorittamista helpottaa jokin kehitysympäristö eli IDE(Integrated Development Environment). Yksi vaihtoehto on Qt. Lisätietoa Qt:sta.

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

Tiedostot pro ja pro.user

Esimerkiksi kun luot projektin nimeltään esim1, Qt-Creator luo sen sisään tiedostot: esim1.pro ja esim1.pro.user. Tiedostossa .pro luetellaan projektiin kuuluvat tiedostot. Sitä ei kannata editoida itse, eikä poistaa. Tiedostossa pro.user on projektiin liittyvät asetukset (esim. build-kansion sijainti). Jos tiedoston poistaa ja avaa projektin, niin Qt-Creator luo sen uudelleen. Tiedostoa ei kannata viedä Git-repoon, jos samaa projktia työstää useampi ohjelmoija.

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