Nachdem die Anwendung mit Qt beim letzten Stream noch nicht gestartet ist, heute die Fortsetzung. Dazu muss erst der Vulcan - Treiber installiert und danach die Qt Bereitstellung noch mal nachgebessert werden. Hier ergänzen wir aber gleich die Datenbanktreiber.
Dann geht es natürlich um die erste Anwendung, die wir in Windows for einigen Wochen erstellt mit Hilfe unsere Bibliotheken "adecc Scholar" und "adecc Database" umgesetzt hatten und nun auf den Raspberry Pi übertragen. Und damit auch von Visual Studio und dem Microsoft Compiler zu Gnu C++ migriert haben. C++ kennt also mehr als einen Compiler und wir können plattformübergreifend Software entwickeln.
Nach mal die Zusammenfassung der notwendigen Schritte:
Im folgenden Verzeichnis finden sich die einzelnen Module
https://download.qt.io/official_relea...
Wir haben uns die Module heruntergeladen und wollen sie bereitstellen, als erstes qtbase, das neben core, gui, widget und sql andere wichtige Module enthält
qtbase-everywhere-src-6.6.3.tar.xz
qtcharts-everywhere-src-6.6.3.tar.xz
qtwayland-everywhere-src-6.6.3.tar.xz
Voraussetzungen:
Compiler, cmake und ninja-build sind bereits installiert
~: sudo apt update
~: sudo apt install libfontconfig1-dev libdbus-1-dev libfreetype6-dev libicu-dev libinput-dev libxkbcommon-dev libsqlite3-dev libssl-dev libpng-dev libjpeg-dev libglib2.0-dev
Grafiktreiber (das hatten wir im Stream vergessen)
~: sudo apt install libgles2-mesa-dev libgbm-dev libdrm-dev
~: sudo apt install libvulkan-dev vulkan-tools
Herunterladen und auspacken
tar xf qtbase-everywhere-src-6.6.3.tar.xz
Wechseln in das Verzeichnis
~: cd qtbase-everywhere-src-6.6.3
Konfigurieren (über Parameter ergänzbar)
~: ./configure
z.B. mit SQL Packages für MySQL, MS SQL und Postgre
~: ./configure -sql-mysql -sql-odbc -sql-psql
Übersetzen
~: cmake --build . --parallel 4
Installieren / Bereitstellen in /usr/local
~: sudo cmake --install .
Beim Übersetzen der Sub- Module müssen eventuell weitere Abhängigkeiten beachtet werden.
Für Wayland habe ich noch die Vulkan Treiber installiert, und die xkb- Common Lib geprüft / bereitgestellt (das fehlte im heutigen Stream, allerdings sollten sie Basisvoraussetzungen ohnehin erfüllt sein)
~: sudo apt update
~: sudo apt upgrade
~: sudo apt install libxkbcommon0
~: sudo apt install libxkbcommon-dev
~: sudo apt install wayland
~: sudo apt install wayland-protocols
~: sudo apt install libwayland-dev
~: sudo apt install mesa-vulkan-drivers
~: sudo apt install vulkan-tools vulkan-validationlayers
Da hier einige der Drittbibliotheken die C++ Standardbibliothek an unterschiedlichen Stellen Orten suchen, kann es zu Schwierigkeiten kommen. Ich habe deshalb die aktuelle Version in ein weiteres Verzeichnis kopiert und den Standardlink im Verzeichnis angepasst
~: sudo cp /usr/local/lib64/libstdc++.so.6.0.32 /lib/aarch64-linux-gnu/
~: sudo ln -sf /lib/libstdc++.so.6.0.32 /lib/aarch64-linux-gnu/libstdc++.so.6
Der Ablauf für die Sub- Module ist jetzt immer gleich (am Beispiel wayland)
Herunterladen des Submodules und auspacken
~: tar xf qtwayland-everywhere-src-6.6.3.tar.xz
Ins Verzeichnis wechseln
~: cd qtwayland-everywhere-src-6.6.3
Konfigurieren (für Qt 6.6.3 in /usr/local installiert)
~: /usr/local/Qt-6.6.3/bin/qt-configure-module .
Übersetzen
~: cmake --build . --parallel 4
Installieren / Bereitstellen
~: sudo cmake -install .Beim Übersetzen der Sub Module müssen eventuell weitere Abhängigkeiten beachtet werden.
Für Wayland habe ich noch die Vulkan Treiber installiert, und die xkb- Common Lib geprüft / bereitgestellt (das fehlte im heutigen Stream, allerdings sollten sie Basisvoraussetzungen ohnehin erfüllt sein)
~: sudo apt update
~: sudo apt upgrade
~: sudo apt install libxkbcommon0
~: sudo apt install libxkbcommon-dev
~: sudo apt install wayland
~: sudo apt install wayland-protocols
~: sudo apt install libwayland-dev
~: sudo apt install mesa-vulkan-drivers
~: sudo apt install vulkan-tools vulkan-validationlayers
Da hier einige der Drittbibliotheken die C++ Standardbibliothek an unterschiedlichen Stellen Orten suchen, kann es zu Schwierigkeiten kommen. Ich habe deshalb die aktuelle Version in ein weiteres Verzeichnis kopiert und den Standardlink im Verzeichnis angepasst
~: sudo cp /usr/local/lib64/libstdc++.so.6.0.32 /lib/aarch64-linux-gnu/
~: sudo ln -sf /lib/libstdc++.so.6.0.32 /lib/aarch64-linux-gnu/libstdc++.so.6
Der Ablauf für die Sub- Module ist jetzt immer gleich (am Beispiel wayland)
Herunterladen des Submodules und auspacken
~: tar xf qtwayland-everywhere-src-6.6.3.tar.xz
Ins Verzeichnis wechseln
~: cd qtwayland-everywhere-src-6.6.3
Konfigurieren (für Qt 6.6.3 in /usr/local installiert)
~: /usr/local/Qt-6.6.3/bin/qt-configure-module .
Übersetzen
~: cmake --build . --parallel 4
Installieren / Bereitstellen
~: sudo cmake --install .