Forum: PC-Programmierung GUI Programmierung Crosscompiling Raspi


von Anonymous U. (gastt)


Lesenswert?

Ich will eine Anwendung mit GUI für den Raspberry Pi schreiben. Bei 
meinen Recherchen bin ich auf Qt und GTK gestoßen. Schlußendlich habe 
ich Qt Creator und einen gcc cross compiler installiert. Nun probiere 
ich schon stundenlang die IDE zum laufen zu bekommen. Qt Creator ist ein 
totaler Krampf und kostet den letzten Nerv.

Ist es möglich für den Raspi auf Windows GTK code zu compilen?

von Anonymous U. (gastt)


Lesenswert?

Ich bin, was GUI Programmierung angeht, von Visual Studio und C# 
verwöhnt. Das installiert man und es geht einfach...

Ist es möglich auf dem Raspi 3 Windows 10 zu installieren?

von Lothar (Gast)


Lesenswert?

Falls Du mit Visual Basic zurechtkommst kannst Du auf dem Windows PC und 
auf dem Pi das hier verwenden: https://www.xojo.com

Oder mach auf dem Windows PC Deine .net App und lass die auf dem Pi mit 
WINE laufen.

Oder versuch das, kannst Du auf dem Windows PC ohne Probleme 
compilieren: https://www.riscosopen.org

von Tom (Gast)


Lesenswert?

Installiere doch QT einfach auf dem Raspi. Mit X-Server läuft das 
Fenster auf dem PC.
Ist zwar ein bisschen langsamer als direkt auf dem PC, aber noch im 
grünen Bereich.
BG, Tom

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Anonymous U. schrieb:
> Nun probiere
> ich schon stundenlang die IDE zum laufen zu bekommen. Qt Creator ist ein
> totaler Krampf und kostet den letzten Nerv.
Keine Ahnung was du machst, oder was fuer ein OS du benutzt, aber bei 
mir unter Arch Linux sieht das ungefaehr so aus:

Installation:
1
yaourt -S qt5 qtcreator

Das wars. QtCreator starten und loslegen. Und unter Windows ist das auch 
kein Krampf. Online-Installer runterladen, bei der Installation anhaken 
was man alles haben will und gut.

Du machst also irgendwas grundlegendes falsch.

von Steffen R. (steffen_rose)


Lesenswert?

Kaj G. schrieb:
> Du machst also irgendwas grundlegendes falsch.

Crosscompiler
SDK so einstellen, dass mit den qt Libs des Raspi gebaut wird, ansonsten 
läuft es dort nicht.

Speziell wegen letztem bauen wir die Raspi Version direkt dort. Aber das 
hat Tom schon erwähnt.

von Sheeva P. (sheevaplug)


Lesenswert?

Anonymous U. schrieb:
> Ich will eine Anwendung mit GUI für den Raspberry Pi schreiben. Bei
> meinen Recherchen bin ich auf Qt und GTK gestoßen. Schlußendlich habe
> ich Qt Creator und einen gcc cross compiler installiert. Nun probiere
> ich schon stundenlang die IDE zum laufen zu bekommen. Qt Creator ist ein
> totaler Krampf und kostet den letzten Nerv.

Normalerweise läuft Qt Creator direkt aus der Tüte, was ist denn das 
Problem?

von Anonymous U. (gastt)


Lesenswert?

Qt Creator läuft bei mir auch (auf Windows 10). Das einrichten für 
crosscompiling für den Raspi funktioniert nicht.

Ich hab Qt Creator jetzt direkt auf dem Raspi installiert, soweit würde 
das auch gehen. Allerdings dauert compilieren jedesmal ganz schön lange. 
Aber was mich noch mehr stört sind die lags wärend der Bedienung der 
IDE. Vor allem beim Designer. Deswegen würde ich das Programmieren 
selber lieber auf meinem Desktop PC machen.

von Nil (nilsnilss)


Lesenswert?

Löst jetzt nicht direkt dein Problem, aber wäre es grundsätzlich 
vielleicht auch eine Möglichkeit die GUI als HTML/JS/CSS Webapp zu 
basteln?

Mit 'nem Nodeserver dahinter kannst du dann auch trotzdem relativ 
einfach bspw. auf Peripherie oder die GPIOs zugreifen, da gibt's 
inzwischen Unmengen an npm-Libs.
Vom Lernaufwand, falls du noch nie was damit gemacht hast, dürfte das 
bis zum ersten Erfolg ähnlich lange dauern wie die korrekte Einrichtung 
des QtCreators.

Ist nur ein Vorschlag, man steinige mich nicht

von Dirk (Gast)


Lesenswert?

Du kannst Windows 10 IoT installieren und ganz einfach auf deinem 
Windows 10 Rechner eine UWP + C# macht programmieren, danach kannst Du 
die App sogar auf dem Target Live debuggen in Visual Studio.

Hier ist es erklärt in C++ und C#

https://developer.microsoft.com/en-us/windows/iot/getstarted/prototype/selectdevice

von Lothar (Gast)


Lesenswert?

Dirk schrieb:
> Du kannst Windows 10 IoT installieren und ganz einfach auf deinem
> Windows 10 Rechner eine UWP + C# macht programmieren

Damit kann man aber doch keine GUI App machen, oder?

von Anonymous U. (gastt)


Lesenswert?

Nils F. schrieb:
> Löst jetzt nicht direkt dein Problem, aber wäre es grundsätzlich
> vielleicht auch eine Möglichkeit die GUI als HTML/JS/CSS Webapp zu
> basteln?

Hab ich mir schon überlegt. Die GUI im browser laufen lassen und die 
rechenintensiven Funktionen in C++. Allerdings ist die Anbindung von 
Browser zu C++ Programm nicht so einfach möglich. Und ehrlichgesagt 
gefällt mir das auch nicht besonders.

Dirk schrieb:
> Du kannst Windows 10 IoT installieren und ganz einfach auf deinem
> Windows 10 Rechner eine UWP + C# macht programmieren, danach kannst Du
> die App sogar auf dem Target Live debuggen in Visual Studio.

Soweit ich herausgefunden habe geht das nur mit einem Windows 10 IoT 
Core oder wie das heißt, also ohne graphische Oberfläche? Die Frage ist 
auch wie (vor allem wie schnell die GPIOS) angesteuert werden.


Ich bin nun zum Entschluss gekommen erstmal mit Qt auf dem Raspi zu 
programmieren. Und wenn mir die Dauer der Compilezeit bzw. die Bedienung 
vom Qt Creator zu langsam wird, werde ich nochmal einen Versuch mit 
Crosscompiling wagen...

von Dieter (Gast)


Lesenswert?

Anonymous U. schrieb:
> Ich bin, was GUI Programmierung angeht, von Visual Studio und C#
> verwöhnt. Das installiert man und es geht einfach...
>
> Ist es möglich auf dem Raspi 3 Windows 10 zu installieren?

Tja, schon blöd, wenn man auf einmal als Pseudoprogrammierer mit der 
Realität konfrontiert wird. Jetzt musst du eben auf die harte Tour eine 
richtige Programmiersprache lernen. Auf dem RPi läuft ein Linux, also 
brauchst du, wenn es gut werden soll, auch so ein System.

von Anonymous U. (gastt)


Lesenswert?

Dieter schrieb:
> Jetzt musst du eben auf die harte Tour eine
> richtige Programmiersprache lernen.

:-D Immer wieder das Selbe. Es spricht eigentlich für Visual Studio und 
C# wenn man beim Programmieren nicht ständig das Gefühl hat, auf einer 
harten Tour unterwegs zu sein.


Kurzes Update: Man gewöhnt sich daran auf dem Raspi mit Qt Creator zu 
arbeiten. Nicht so schlimm als ich dachte...

: Bearbeitet durch User
von mmm (Gast)


Lesenswert?

Ich habe meinen QtCreator auf einer HyperV-Linux-VM laufen. Dank 
Cygwin/X und X-forwarding merke ich garnicht, dass der nicht nativ auf 
meinem Windows-PC läuft...
Cross-Compilieren, Debuggen, etc. geht einwandfrei.

von Lothar (Gast)


Lesenswert?

Dieter schrieb:
> Auf dem RPi läuft ein Linux

Wie gesagt, da laufen auch noch andere Systeme mit Desktop, die 
einfacher zu programmieren und auch noch sicherer sind als Linux:

Lothar schrieb:
> Oder versuch das, kannst Du auf dem Windows PC ohne Probleme
> compilieren: https://www.riscosopen.org

von Olaf (Gast)


Lesenswert?

> Wie gesagt, da laufen auch noch andere Systeme mit Desktop, die
> einfacher zu programmieren und auch noch sicherer sind als Linux:

War RiscOS nicht ohne Speicherschutz? Wie definierst du "sicher"?

Und mit welcher Entwicklungsumgebung arbeitest du? Und sag jetzt nicht 
AcornBasic oder sowas....

Olaf

von Dirk (Gast)


Lesenswert?

Dieter schrieb:
>Tja, schon blöd, wenn man auf einmal als Pseudoprogrammierer mit der
>Realität konfrontiert wird. Jetzt musst du eben auf die harte Tour eine
>richtige Programmiersprache lernen. Auf dem RPi läuft ein Linux, also
>brauchst du, wenn es gut werden soll, auch so ein System.

Was für ein dummes Gelabber von Dir.

Anonymous User schrieb:
>Soweit ich herausgefunden habe geht das nur mit einem Windows 10 IoT
>Core oder wie das heißt, also ohne graphische Oberfläche? Die Frage ist
>auch wie (vor allem wie schnell die GPIOS) angesteuert werden.

Dann warst Du ehrlich gesagt nur etwas faul. Du hast die Möglichkeit GUI 
Apps zu programmieren oder Hintergrundprogramme ohne GUI.

Hab die letzten Tage Windows 10 IoT selber getestet wie z.B. UWP App, 
UWP App + Xamarin.Forms. MVVM Pattern funktioniert super, sogar erst die 
Applikation auf meinem Windows 10 Rechner testen und danach auf dem PI 
zu schieben und live zu Debuggen klappt ohne Probleme.

Zu GPIO's, I2C oder SPI kann ich Dir nichts sagen, aber Ethernet und 
WLAN ging bei mir ohne Probleme. Die Bootuptime ist mit dem normalen 
Image etwas hoch, aber auch wie bei Linux baut man sich später 
sicherlich einen Custombuild vom OS.

Die erste Hello World Beispielapplikation war nach der Windows 10 IoT 
installation innerhalb von 5 Minuten getestet mit Visual Studio 2017.
Hier könnten sich andere Anbieter wie z.B. der Hersteller von QT noch 
einiges abschauen, insbesondere für Anfänger- und Neukunden.

Wenn Du Windows 10 IoT installiert hast werden Dir die 
Beispielapplikationen angezeigt zum direkten testen.

Hier nochmal ein Beispiel mit GUI und SerialPort.

https://developer.microsoft.com/en-us/windows/iot/samples/serialuart

von Dieter (Gast)


Lesenswert?

Dirk schrieb:
> Was für ein dummes Gelabber von Dir.

Danke! Gebe ich dir gerne zurück:

Dirk schrieb:
> Hab die letzten Tage Windows 10 IoT selber getestet

> Zu GPIO's, I2C oder SPI kann ich Dir nichts sagen, aber Ethernet und
> WLAN ging bei mir ohne Probleme.

Zusammengefasst: Du hast zwar das meiste nicht getestet, aber es 
funktioniert ganz toll!!!1!!1!

Dirk schrieb:
> Die Bootuptime ist mit dem normalen
> Image etwas hoch, aber

Eigentlich ist es doch beschissen, aber die anderen...!!!

Dirk schrieb:
> Die erste Hello World Beispielapplikation war nach der Windows 10 IoT
> installation innerhalb von 5 Minuten getestet mit Visual Studio 2017.
> Hier könnten sich andere Anbieter wie z.B. der Hersteller von QT noch
> einiges abschauen, insbesondere für Anfänger- und Neukunden.

Oder anders gesagt: Hier sieht man welches Produkt für Profis (hiermit 
ist nicht VS gemeint) und welches für Bastler ist. Hauptsache es ist 
schön bunt!

von guest (Gast)


Lesenswert?


von Dirk (Gast)


Lesenswert?

@Dieter:

Deine Aussagen haben null Nährwert und werden mit mehr !!!! auch nicht 
besser.

Wieso sollte C# keine gute Programmiersprache sein? C++ Programmierer 
werden sagen es gibt nix anderes, Assemblerprogrammierer sagen es gibt 
nix anderes usw.

Jede Programmiersprache hat Ihre Vor- und Nachteile und Entwickler 
entscheiden sich für die Hardware und Software welche die Anforderungen 
erfüllt.

Müssen sich heutzutage viele Leute irren, wenn man sich die Top 10 
anschaut.

https://jaxenter.de/programmiersprachen-rankings-q1-2017-54308

>Oder anders gesagt: Hier sieht man welches Produkt für Profis (hiermit
>ist nicht VS gemeint) und welches für Bastler ist. Hauptsache es ist
>schön bunt!

Dann gibt es wohl viele Bastler, welche Enterpriseapplikationen 
schreiben.

>Zusammengefasst: Du hast zwar das meiste nicht getestet, aber es
>funktioniert ganz toll!!!1!!1!

Was geht den nicht?

von Lothar (Gast)


Lesenswert?

Dirk schrieb:
> Die erste Hello World Beispielapplikation war nach der Windows 10 IoT
> installation innerhalb von 5 Minuten getestet mit Visual Studio 2017

Xojo kann sogar vom Windows PC aus eine Linux APP auf dem Pi debuggen:

https://www.xojo.com/raspberrypi/

Dirk schrieb:
> Zu GPIO's, I2C oder SPI kann ich Dir nichts sagen

Wird alles in Xojo unterstützt.

von digitaldex (Gast)


Lesenswert?

Anonymous U. schrieb:
> Nils F. schrieb:
>> Löst jetzt nicht direkt dein Problem, aber wäre es grundsätzlich
>> vielleicht auch eine Möglichkeit die GUI als HTML/JS/CSS Webapp zu
>> basteln?
>
> Hab ich mir schon überlegt. Die GUI im browser laufen lassen und die
> rechenintensiven Funktionen in C++. Allerdings ist die Anbindung von
> Browser zu C++ Programm nicht so einfach möglich. Und ehrlichgesagt
> gefällt mir das auch nicht besonders.

Du willst dich über Websockets informieren. Qt bietet dafür fertige 
Klassen und macht die Kommunikation zwischen Browser und Qt Backend 
bidirektional möglich.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.