Unsolved Cross-Compile Raspberry Pi 3 - QTWidget läuft nur bedingt
-
Re: CrossCompile auf Raspberry Pi 3 - QtWidget nur Fullscreen?
Hallo zusammen,
ich kann QtWidgetApps vom Host-Rechner (Ubuntu 16.04) auf den Pi übertragen und ausführen. Das Ausführen läuft allerdings nur bedingt und zwar:
- Wenn ich von Qt aus per Run die Binärdatei runterschicke und ausführen möchte kommt folgende Fehlermeldung im Application Output:
Starting /usr/local/qt5pi/examples/widgets/widgets/calculator/calculator...
1690
Cannot find EGLConfig, returning null config
EGL Error : Could not create the egl surface: error = 0x3005Process killed by signal
<- Bin dann über den Forenbeitrag in der Referenz darauf gestoßen, in den Run-Einstellungen unter Arguments "-platform xcb" einzutragen. Die Binärdatei wird somit erfolgreich übertragen, startet auf dem Pi allerdings nicht und es erscheint nach dem Run folgende Fehelrmeldung:
Starting /usr/local/qt5pi/examples/widgets/widgets/calculator/calculator...
qt.qpa.screen: QXcbConnection: Could not connect to display
Could not connect to any X display.Application finished with exit code 1.
<-
Wenn ich die übertragene Datei vom Pi-terminal aus mit den Argumenten öffne (./meinedatei -platform xcb), funktioniert das ganze einwandfrei auf dem Pi. Ich möchte allerdings auch über Qt Remote-Debuggen, deshalb sollte es auch nach dem Run auf dem Pi laufen.
-
Habe dann versucht, über SSH vom Hostrechner-Terminal aus die Datei auf dem Pi auszuführen, da kam dann die gleiche Fehlermeldung wie bei 2.
-
Über diesen Forenbeitrag: https://obsproject.com/forum/threads/forwarded-x-with-ssh.36754/ hab ich dann die SSH-Verbindung versucht mit -Y aufzubauen (ssh -Y pi@IP_vom_Pi) und dann kam das Mysteriöseste an der ganzen Sache: Die Datei (ein einfacher Taschenrechner) öffnete sich auf dem Host-Rechner! Wie kann das sein? Ich hab Sie für den Pi kompiliert, der Host-Rechner kann die doch gar nicht lesen? Das Einzige, was das erklären würde ist, dass die Datei schon auf dem Pi läuft, die grafische Ausgabe allerdings über SSH auf dem Host-Rechner erfolgt.
Kann mir da jemand weiterhelfen? Ich möchte einfach nur, dass die Datei per Run von Qt aus auf dem Pi läuft und ich endlich Remote-Debuggen kann.
Achja, meine Konfiguration für Qt ist:
./configure -release -opengl desktop -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v -no-use-gold-linkerGrüße und Danke im Voraus
da_ebeng