Hallo, habe mir einen Raspberry Pi 3B+ mit Display gekauft und möchte dafür eigene Programme mit Qt entwickeln und debuggen. Betriebssystem am PC ist Windows 10. Den Pi habe ich mit NOOBS Installer, welcher wohl das Image „RASPBIAN STRETCH WITH DESKTOP“ auf der SD Karte installiert hat, zum „laufen“ gebracht. Über „putty“ kann ich eine Remote Verbindung aufbauen. Nun möchte ich Applikationen mit Qt Programme für den Raspberry schreiben. Auf dem PC habe ich Qt Creator 4.6.1 based on Qt 5.10.1 installiert und kann Applikationen für Android oder Win10 schreiben, debuggen also Spaß haben. Das möchte ich nun entsprechend für den Pi einrichten und hier scheitert es gerade. Meine erste Frage ist, ob das mit der Open Source Qt Version überhaupt möglich ist? Bei der Kommerziellen Qt Version kann man beim Installieren scheinbar entsprechende Settings zusammenklicken, welche bei der open source Version nicht angeboten werden, aber eventuell manuell eingerichtet werden können. Das weiß ich eben nicht. Soweit eine kurze Erläuterung damit ihr in einschätzen könnt wo ich in etwa erfahrungstechnisch mit dem „#+‘%$&+ depri Zeugs“ stehe. Gibt es eine Möglichkeit den Qt Creator mit der open source Version für mein Vorhaben zu nutzen. Im Qt Creator unter Tools/Options/Devices/Add/Generic Linux Device/Start Wizard kann ich z.B. keine Einstellung vornehmen, die mir erlaubt in den nächsten Step zu gehen. Der „Next“ Button ist permanent ausgegraut. Mein Fehler oder geht das nicht?
bin etwas weiter gekommen .... habe auch diese Website gefunden, nur heute Abend keine Zeit mehr, das durchzuführen. Werde mal die Tage sehen, ob ich damit zurechtkomme. Scheint eine brauchbare Anleitung zu sein. https://scribles.net/qt-creator-cross-compiling-environment-for-raspbian-stretch-using-qtrpi/ Auch gut. https://www.youtube.com/playlist?list=PLFsidzAJDEbBr3l0BNMDcDQlUM04GRlf2 Wo genau bekomme ich gdb-multiarch für Win10 her? Wird wohl zum Debuggen benötigt.
Hm, muss man wirklich als Anfänger mit gdb-multiarch von Windows 10 x86 eine arm-Anwendung unter Linux remote-debuggen? Gibts da keinen einfacheren Einstieg? Nimm halt den gdb auf dem Pi oder so ... Generell klingt für mich das Setup für "keine Erfahrung" relativ komplex, ich würde mir erstmal was simpleres suchen (i.e. nicht cross-platform und cross-arch), um Frust beim Einstieg zu vermeiden.
Mit Qt Creator, gcc und gdb direkt auf dem Himbeergerät zu arbeiten wäre für den Anfang einfacher.
Will auf dem Gebiet ja nicht Anfänger bleiben. Als ungebranntes Kind auf dem Gebiet erkennt man die beschriebene Mühsal nicht einmal. Ist beides eine Setting / Einrichtungssache. Ohne gute Anleitung ist beides zum Scheitern verurteilt. Mit guter Anleitung vermutlich beides ein Kinderspiel. Um Erfahrung zu sammeln würde ich sogar beide Wege gehen wollen und mich dann für den für mich optimaleren entscheiden. Aber dazu braucht es Anleitung. Mal sehen, was ich im www finde. Ansonsten freue ich mich über entsprechende Links zu diesen Anleitungen. Der einfachere Weg ist vermutlich installieren des Qt Creators auf dem Raspberry Pi und dort compillieren und debuggen.
Meines Erachtens lernt man beim Einrichten eines (Cross)compilers unter Windows so ziemlich gar nichts, außer dass es sehr mühsam ist und man es lieber nicht nochmal machen will. Das ganze "Wissen" besteht immer darin, in welchem Dialog von welchem Installer den man wo runterlädt man welche Checkbox setzen muss damit es geht -- ziemlich nutzlos.
Ich will ja nicht mein Leben lang Cross Compiler einrichten. Eine gute Anleitung für Windows für mein Vorhaben und gut ist. Ich will in Qt für den Raspberry Pi Progrämmchen schreiben, Kompilieren und debuggen können. Einrichten von Entwicklungsumgebungen ist eher nervig. Aber ich sehe schon, für Windows ist da nicht wirklich viel im www zu finden. Zumindest bis jetzt gescheitert. Suche gerade gdb-multiarch für Windows. Sofern es das dafür überhaupt gibt. Für Linux habe ich es gleich gefunden. Daher meine Überlegung: Ich installiere mir in einer Virtual Machine Ubuntu ... oder welche Linux Distribution am besten??? Dann auf diese Plattform Qt und den Rest bekomme ich gut über die weiter oben verlinkten Seiten hin. Eine Möglichkeit wäre das vermutlich. Aber ..... gibt es da einen beschriebenen Weg für Windows. Ohne Beschreibung, bekäme ich das auch nicht für Linux hin.
sven schrieb: > Ich installiere mir in einer Virtual Machine Ubuntu du kannst vielleicht auch die virtuelle Maschine Weglassen, und direkt Ubuntu-Binaries unter Windows ausführen: https://heise.de/-4006641 sozusagen inverses WINE.
WSL schrieb: > sven schrieb: >> Ich installiere mir in einer Virtual Machine Ubuntu > > du kannst vielleicht auch die virtuelle Maschine Weglassen, und direkt > Ubuntu-Binaries unter Windows ausführen: > > https://heise.de/-4006641 > > sozusagen inverses WINE. Wenn du dadrin QtCreator und arm-gdb starten kannst, fress ich 'nen Besen ...
@Sven B. Du lässt durchscheinen dass du da schon mehr möglicherweise leidvolle Erfahrung gemacht hast. Was ist denn dein neutraler Ratschlag. Gibt es einen beschriebenen Weg im www wie das unter Win10 zu machen ist? Ein Link..... Oder gleich auf virtuelle Maschine und Linux gehen. In ein kompiliertes binary Qt reinzubekommen meinte WSL nicht, denke ich. Aber ich muss dem Qt auf win10 sagen, wo GDB-multiarch zu finden ist .... und da habe ich nichts für win gefunden nur für Linux. Ist halt gerade mühselig da ich nichtmal weiß ob dieser weg über win überhaupt machbar ist.
Meine ganz persönliche, subjektive Erfahrung ist folgende (die bezieht sich aber vorrangig auf Entwickeln von Desktop-Anwendungen): Entwickeln unter Windows ist generell ziemlich mühsehlig, außer vielleicht man hat $IDE für genau die Plattform die man benutzen möchte und kommt mit der gut zurecht. Unter Linux hat man sich viel schneller was zusammgensteckt. Die GNU Toolchain unter Windows ist auch ziemlich meh. Wenn ich unter Windows C/C++ mache, nehme ich den MS-Compiler mit zugehörigem Debugger (funktioniert auch mit QtCreator). Die GNU Toolchain ist generell ziemlich meh wrt Cross-Platform. Bis man sich so einen Cross-gcc kompiliert hat, ist man halb tot -- das Build-System ist fürchterlich und voller Bugs diesbezüglich. Für baremetal geht es noch so halbwegs, aber sobald man die glibc-ABI braucht ist es ein unglaubliches Leid. Hier ist man mit llvm/clang deutlich besser dran, außer man will halt Linux kompilieren, das geht damit nicht (willst du ja aber nicht). Was für dich funktioniert hängt halt von deinen Vorlieben und Vorerfahrungen ab. Ich denke aber, dein Vorhaben ist erheblich leichter umzusetzen, wenn du es einfach unter Linux machst.
:
Bearbeitet durch User
Ich wäre auch daran interessiert, mich in der Richtung zu vertiefen. Was wäre denn Deiner Erfahtung nach der einfachste Weg für einen Anfänger, für einen RASPI eine Linux Programm hinzubekommen, dass ein bischen serielle Schnittstelle bedienen kann, also Daten aus einem RAM/Flash laden und sie abschicken? Ich hätte gerne eine GUI mit Knöpchen und Reglern, die auch komplett auf dem RASPI läuft. RASPIAN Strech wäre jetzt auch meine Wahl gewesen.
Vermutlich einen Bildschirm an das Pi hängen und dort QtCreator installieren und starten. Das ist viel einfacher als die ganzen Cross-Compiler-Lösungen, hat halt den Nachteil, dass man mit der gurkigen CPU kompilieren muss (dauert lange). Aber für den Anfang ist das vermutlich ok.
Ich habe auf meinem PC Windows und eine virtuelle Linux Maschine. Auf beiden Systemen ist Qt installiert. Für den RPi programmiere ich in der VM. Im QtCreator muss angegeben werde in welchem Verzeichnis auf dem RPi dein Programm landen soll. Auf das Verzeichnis müssen die entsprechenden Rechte vorhanden sein. Am besten unterhalb deines /home/pi Verzeichnises. Ich habe mir den Crosscompiler und die Toolchain selbst kompiliert. Dafür gingen schon einige Stunden drauf aber ich habe auch viel gelernt dadurch.
Ich nutze zum Entwickeln für RPi das hier: http://gnutoolchains.com/raspberry/ Funktioniert in Verbindung mit Eclipse (Projektverwaltung/editieren/debuggen) recht gut. Edit: Windows 8.1 auf dem Entwicklungsrechner
:
Bearbeitet durch User
900ss D. schrieb: > Funktioniert in Verbindung mit Eclipse Mit welchem Framework machst du eine GUI?
Ich nutze keine GUIs auf dem RPi. Hab nur Consolen-SW gemacht.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.