Raspberry Pi Qt cross-compile: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Nick (Diskussion | Beiträge) |
Nick (Diskussion | Beiträge) |
||
| Zeile 34: | Zeile 34: | ||
Download RPI tools: | Download RPI tools: | ||
git clone https://github.com/raspberrypi/tools | git clone https://github.com/raspberrypi/tools | ||
Pfad: | |||
/opt/qtVERSION/tools | |||
===sysroot=== | ===sysroot=== | ||
Erstellen des sysroot verzeichnisses und syncronisation mit raspian-image sysroot verzeichnisses: | Erstellen des sysroot verzeichnisses und syncronisation mit raspian-image sysroot verzeichnisses: | ||
| Zeile 41: | Zeile 43: | ||
rsync -avz /mnt/rasp-pi-rootfs/usr/lib sysroot/usr | rsync -avz /mnt/rasp-pi-rootfs/usr/lib sysroot/usr | ||
rsync -avz /mnt/rasp-pi-rootfs/opt/vc sysroot/opt | rsync -avz /mnt/rasp-pi-rootfs/opt/vc sysroot/opt | ||
Pfad: | |||
/opt/qtVERSION/sysroot | |||
===Symlinks === | ===Symlinks === | ||
Symlinks relativ anpassen: | Symlinks relativ anpassen: | ||
| Zeile 47: | Zeile 51: | ||
./sysroot-relativelinks.py sysroot | ./sysroot-relativelinks.py sysroot | ||
===qtbase=== | ===qtbase=== | ||
qtbase für RPI bauen. [Pfad: /opt/qtVERSION] | |||
git clone git://code.qt.io/qt/qtbase.git -b <qt-version> | |||
cd qtbase | |||
<rpi-version> linux-rasp-pi-g++ for RPi, linux-rasp-pi2-g++ for RPi2 and linux-rasp-pi3-g++ for RPi3 | |||
./configure -release -opengl es2 -device <rpi-version> -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot /opt/qtVERSION/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v | |||
make | |||
make install | |||
buld säubern: | |||
git clean -dfx | |||
=Qt= | =Qt= | ||
Version vom 26. Mai 2021, 14:42 Uhr
RPI
Download letztes raspian-lite: wget http://downloads.raspberrypi.org/raspbian_latest Auf SD-Karte installieren und auf dem RPI starten. Auf dem RPI:
sudo raspi-config #Expand Filesystem and change the GPU memory to 128 MB sudo rpi-update reboot
Installation Bibliotheken:
sudo nano /etc/apt/sources.list #uncomment the deb-src line sudo apt-get update sudo apt-get build-dep qt4-x11 sudo apt-get build-dep libqt5gui5 sudo apt-get install libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0
Zielverzeichnis anlegen:
sudo mkdir /usr/local/qt5pi sudo chown pi:pi /usr/local/qt5pi
RPI Image mount
Image von SD-Karte ziehen oder direkt von SD-Karte mounten. sudo mkdir /mnt/rasp-pi-rootfs
Mount: Raspberry Pi mount image Partition 2: 512 * 122880 = 62914560
sudo mount -o loop,offset=62914560 raspian.img /mnt/rasp-pi-rootfs
cross compile toolchain
Arbeitsverzeichnis
Arbeitsverzeichnis anlegen:
sudo mkdir /opt/qtVERSION cd /opt/qtVERSION
RPI tools
Download RPI tools:
git clone https://github.com/raspberrypi/tools
Pfad:
/opt/qtVERSION/tools
sysroot
Erstellen des sysroot verzeichnisses und syncronisation mit raspian-image sysroot verzeichnisses:
mkdir sysroot sysroot/usr sysroot/opt rsync -avz /mnt/rasp-pi-rootfs/lib sysroot rsync -avz /mnt/rasp-pi-rootfs/usr/include sysroot/usr rsync -avz /mnt/rasp-pi-rootfs/usr/lib sysroot/usr rsync -avz /mnt/rasp-pi-rootfs/opt/vc sysroot/opt
Pfad:
/opt/qtVERSION/sysroot
Symlinks
Symlinks relativ anpassen:
wget https://raw.githubusercontent.com/Kukkimonsuta/rpi-buildqt/master/scripts/utils/sysroot-relativelinks.py chmod +x sysroot-relativelinks.py ./sysroot-relativelinks.py sysroot
qtbase
qtbase für RPI bauen. [Pfad: /opt/qtVERSION]
git clone git://code.qt.io/qt/qtbase.git -b <qt-version> cd qtbase <rpi-version> linux-rasp-pi-g++ for RPi, linux-rasp-pi2-g++ for RPi2 and linux-rasp-pi3-g++ for RPi3
./configure -release -opengl es2 -device <rpi-version> -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot /opt/qtVERSION/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v make make install
buld säubern:
git clean -dfx