Configureer Qt Creator op Ubuntu 20 LTS voor cross-compile

Introductie

Dit is een handleiding voor het configureren van de Qt-Creator om cross-gecompileerde Qt-bibliotheken te gebruiken voor de Raspberry Pi 4 en om applicaties voor de Raspberry te maken.

Voorwaarden

Raspberry Pi OS Lite

Installeer Raspberry Pi OS Lite op een Raspberry Pi 4 of op een Raspberry Compute Module 4 zoals beschreven in mijn blogpost Raspberry Pi OS installeren op Raspberry Compute Module 4.

Qt 5.15.2 op Ubuntu 20 LTS

Configureer Raspberry Pi OS Lite op een Raspberry Pi 4 of installeer Raspberry Pi OS op Raspberry Compute Module 4 zoals in mijn blogpost en bouw de Qt-bibliotheken zoals in mijn blogpost Qt 5.15 cross compile voor Raspberry Compute Module 4 op Ubuntu 20 LTS.

Configuratie Qt-Creator

U moet een werkende Qt-maker hebben geïnstalleerd op een Ubuntu 20. Instructies over hoe dit te doen zijn te vinden op Qt of in verschillende forums of tutorials.
Daarnaast zou je een Raspberry Pi 4 of een Raspberry Compute Module 4 moeten hebben gemaakt met Raspberry Pi OS Lite en de bijbehorende Qt-bibliotheken, een cross-compiler en de cross-compiled bibliotheken voor de Raspberry Pi 4 zoals beschreven in de vereisten.
De paden die hieronder worden gebruikt voor de verschillende configuraties komen overeen met de paden uit de twee vorige blogposts.
Mijn gebruikte QtCreator-versie is versie 4.13.3.

Apparaat maken

In de eerste stap maken we een nieuw apparaat. Om dit te doen, roept u "Opties" op in het menu onder "Extra" en selecteert u "Apparaten" in de linkerkolom. Gebruik vervolgens "Toevoegen" om een nieuw apparaat "Generiek Linux-apparaat" te maken. Geef het apparaat een naam - hier RaspberryPi4-Qt-5.15 -, voer het IP-adres in onder "Hostnaam" en voer meestal "pi" in onder "Gebruikersnaam" voor de Raspberry.
Vervolgens kunt u de knop "Test" gebruiken om de verbinding met de Raspberry te testen. Als "Device test successfully finishedly." hier niet wordt geretourneerd, moet je de instellingen controleren en testen of de Raspberry echt bereikbaar is met deze parameters.

QtCreator Device Configuration

### De compiler configureren In de tweede stap moeten we de paden voor de C- en C ++ -compilers definiëren. De instellingen hiervoor zijn terug te vinden in het menu "Extra -> Opties" onder "Kits -> Compilers". We gebruiken hier de compilers die we hebben gedownload met de cross-compiler "gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf". Voeg -> GCC -> C" en "Add -> GCC -> C++" toe om twee nieuwe configuraties toe te voegen. Voor C, in de map "tools", "gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc" en voor C++ "gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++". Wijs één naam tegelijk toe en deze instelling is klaar.
QtCreator Compiler Configuration

### Qt-versie maken In de derde stap hebben we het cross-gecompileerde qmake-bestand uit de vorige blogpost nodig. De instellingen hiervoor zijn terug te vinden in het menu "Tools -> Options" onder "Kits -> Qt Versions". Voeg opnieuw een nieuwe configuratie toe met "Add" en selecteer het qmake-bestand uit de map "qt5.15/bin/qmake" met de knop "Browse".
QtCreator Version Configuration

### Maak een kit De laatste stap is om de nieuw toegevoegde configuraties samen te voegen tot een nieuwe kit. De instellingen hiervoor zijn te vinden in het menu "Tools -> Options" onder "Kits -> Kits". Voeg opnieuw een nieuwe configuratie toe met "Add" en op
  • Naam: wijs uw eigen naam toe (deze zal later worden gebruikt om het apparaat te selecteren onder de instellingen "Project")
  • Type apparaat: "Generiek Linux-apparaat"
  • Apparaat: selecteer het nieuw aangemaakte apparaat
  • Sysroot: selecteer de sysroot-map die in het vorige blogbericht is gemaakt
  • Compiler: selecteer de twee nieuw gemaakte compilers
  • Qt-versie: selecteer de nieuw gemaakte Qt-versie
    QtCreator Kit Configuration

    ### Projectinstellingen De nieuw gemaakte kit kan nu onmiddellijk worden geselecteerd en toegewezen bij het maken van een nieuw project of worden toegevoegd aan een bestaand project.
    QtCreator Project Configuration