From bba5848c108777370bf0c8adcca3fcd87a837ee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Varga=20P=C3=A1l?= Date: Wed, 10 Dec 2025 11:57:47 +0100 Subject: [PATCH] =?UTF-8?q?'README.md'=20m=C3=B3dos=C3=ADt=C3=A1sa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index ac86bb8..4ecef2a 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,20 @@ # QT Creator keresztfordító beállítása Raspberry Pi-hez -Linux alatt a QT 5.15.2 verziójával történő keresztfordító beállításának leírása. +Linux alatt a QT 5.15.8 verziójával történő keresztfordító beállításának leírása. ## A környezet **Hoszt:** -[Debian Bullseye with Raspberry Pi Desktop](https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-desktop) +Debian Bookworm AMD64 with Raspberry Pi Desktop **Cél:** -Raspberry Pi OS Lite Bullseye, Raspberry Pi 4 model B 1GB egy SmartiPi Touch 2 (Raspberry Pi 4 compatible) házba szerelve Raspberry Pi 7 inch Touch Display DSI 800x480 kijelzővel. +Raspberry Pi OS Lite Bookworm ARM64, Raspberry Pi 3 model B+ 1GB egy SmartiPi Touch házba szerelve Raspberry Pi 7 inch Touch Display DSI 800x480 kijelzővel. -Fontos, hogy a hoszt és cél ugyanazt a verziójú operációs rendszert futtassa, jelen esetben Debian 11 (Bullseye), különben nem működik a keresztfordító. +Fontos, hogy a hoszt és cél ugyanazt a verziójú operációs rendszert futtassa, jelen esetben Debian 12 (Bookworm) 64 bit, különben nem működik a keresztfordító. ## Raspberry Pi OS installálása -A [Raspberry Pi Imager](https://downloads.raspberrypi.org/imager/imager_latest.exe) letöltése és telepítése. A program elindítása után ki kell választani a telepítendő operációs rendszert és az sd kártyát. A leírás RASPBERRY PI OS LITE (32-bit)-n készült, ez után elérhetővé válik a jobb alsó sarokban az _**Advanced menu**_. +A [Raspberry Pi Imager](https://downloads.raspberrypi.org/imager/imager_latest.exe) letöltése és telepítése. A program elindítása után ki kell választani a telepítendő operációs rendszert és az sd kártyát. A leírás RASPBERRY PI OS LITE (64-bit)-n készült, ez után elérhetővé válik a jobb alsó sarokban az _**Advanced menu**_. Ott a hosztneven kívül mindent be kell állítani és érdemes elmenteni állandó használatra. Mivel az új szabályozás szerint az eszközöket nem lehet alapértelmezett felhasználónévvel és jelszóval árulni, ezért azt is itt kell beállítani, fontos még az ssh engedélyezése és szükség esetén a wifi beállítása. @@ -123,15 +123,15 @@ ssh @ **Könyvtár struktúra létrehozása** -Az ~/rpi4 könytár lesz a kiindulási pont, létrehozás után legyen az az aktuális könyvtár. +Az ~/rpi3 könytár lesz a kiindulási pont, létrehozás után legyen az az aktuális könyvtár. ``` -mkdir -p ~/rpi4/build -mkdir -p ~/rpi4/qt5.15.8 -mkdir -p ~/rpi4/sysroot +mkdir -p ~/rpi3/build +mkdir -p ~/rpi3/qt5.15.8 +mkdir -p ~/rpi3/sysroot -cd ~/rpi4 +cd ~/rpi3 ``` -A build könyvtárban történik a qt fordítása, a qt5.15.2 könyvtár az installálálás célja, a sysroot könyvtár pedig a céleszközről átmásolt osztott könyvtárak és fejlécfájlok helye. +A build könyvtárban történik a qt fordítása, a qt5.15.8 könyvtár az installálálás célja, a sysroot könyvtár pedig a céleszközről átmásolt osztott könyvtárak és fejlécfájlok helye. **sysroot átmásolása a Raspberry Pi-ről** @@ -173,12 +173,19 @@ cp -R qt-everywhere-src-5.15.8/qtbase/mkspecs/linux-arm-gnueabi-g++ qt-everywher sed -i -e 's/arm-linux-gnueabi-/arm-linux-gnueabihf-/g' qt-everywhere-opensource-src-5.15.8/qtbase/mkspecs/linux-arm-gnueabihf-g++/qmake.conf ``` +64 bites rendszer (aarch64) esetén a qt-everywhere-src-5.15.8/qtbase/mkspecs/devices/linux-rasp-pi3-g++/qmake.conf módosítása szükséges, mivel abban a 32 bites fordítóhoz szükséges kapcsolók vannak beállítva, ami 64 bites használata esetén hibát okoz. Két sort kell benne módosítani. +``` +QMAKE_CFLAGS = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -> QMAKE_CFLAGS = -march=armv8-a -mtune=cortex-a53 + +include(../common/linux_arm_device_post.conf) -> include(../common/linux_device_post.conf) +``` + Indulhat a konfigurálás. ``` cd build -../qt-everywhere-src-5.15.8/configure -release -no-opengl -no-eglfs -linuxfb -device linux-rasp-pi4-v3d-g++ -device-option CROSS_COMPILE=aarch64-linux-gnu- -sysroot ~/rpi4/sysroot -prefix /usr/local/qt5.15.8 -extprefix ~/rpi4/qt5.15.8 -opensource -confirm-license -skip qtscript -skip qtwayland -skip qtwebengine -skip qtlocation -skip qtlottie -skip qtsensors -make libs -pkg-config -no-use-gold-linker -v -recheck-all +../qt-everywhere-src-5.15.8/configure -release -no-opengl -no-eglfs -linuxfb -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE=aarch64-linux-gnu- -sysroot ~/rpi3/sysroot -prefix /usr/local/qt5.15.8 -exprefix ~/rpi3/qt5.15.8 -opensource -confirm-license -skip qtscript -skip qtwayland -skip qtwebengine -skip qtlocation -skip qtlottie -skip qtsensors -make libs -pkg-config -no-use-gold-linker -v -recheck-all ``` -A _**-device**_ opciót a céleszköznek megfelelően kell beállítani, az elérhető eszközök megtalálhatók a ~/rpi4/qt-everywhere-src-5.15.8/qtbase/mkspecs/devices könyvtárban, Raspberry Pi változatokhoz az alábbi táblázatban lévők valók: +A _**-device**_ opciót a céleszköznek megfelelően kell beállítani, az elérhető eszközök megtalálhatók a ~/rpi3/qt-everywhere-src-5.15.8/qtbase/mkspecs/devices könyvtárban, Raspberry Pi változatokhoz az alábbi táblázatban lévők valók: | Raspberry Pi modell | ARM architectúra verzió | -device opció | | ------------------- | -----------------------:| ---------------------- | | Raspberry Pi 4 | ARMv8 | linux-rasp-pi4-v3d-g++ | @@ -189,7 +196,7 @@ A _**-device**_ opciót a céleszköznek megfelelően kell beállítani, az elé A mysql plugin fordításához (ha szükséges) meg kell adni, hogy hol találhatók a mysql fejléc fájlai és osztott könyvtárai, az előző parancshoz még ezt kell hozzáfűzni. ``` --sql-mysql MYSQL_INCDIR=~/rpi4/sysroot/usr/include/mysql MYSQL_LIBDIR=~/rpi4/sysroot/usr/lib/aarch64-linux-gnu +-sql-mysql MYSQL_INCDIR=~/rpi3/sysroot/usr/include/mysql MYSQL_LIBDIR=~/rpi3/sysroot/usr/lib/aarch64-linux-gnu ``` Sikeres konfigurálás után lehet fordítani és installálni. @@ -205,7 +212,7 @@ rm -rf * A lefordított keretrendszer installálható a Raspberry Pi-re. ``` -cd ~/rpi4 +cd ~/rpi3 rsync -avz qt5.15.8 root@:/usr/local ``` @@ -221,7 +228,7 @@ Itt kell beállítani a távoli eszközhöz való csatlakozás adatait. Mivel ko Itt már több mindent kell állítani, először a _**Qt Versions**_ fülön hozzá kell adni a frissen fordított keretrendszert, konkrétan a lefordított és telepített _**qmake**_-t kell neki megmutatni. ``` -/home/kutyus/rpi4/qt5.15.2/bin/qmake +/home/kutyus/rpi3/qt5.15.2/bin/qmake ``` A _**Compilers**_ fülön ellenőrizni kell, hogy a Qt Creator megtalálta-e a keresztfordítót?