1
0
Fork 0
Browse Source

'README.md' módosítása

master
Varga Pál 5 months ago
parent
commit
bba5848c10
  1. 39
      README.md

39
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 <FELHASZNÁLÓNÉV>@<IP-CÍM>
**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@<IP-CÍM>:/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?

Loading…
Cancel
Save