Wie für Pandora entwickeln, als Windowser?


Joined
Mar 8, 2010
Messages
131
Hi,

jetzt wo die Pandora zum Greifen nahe ist möchte ich gerne ein selbst geschriebenes Spiel portieren, muss aber gestehen, dass ich mich noch nie aus der Windows-Ecke heraus gewagt habe.
Ich habe schon viel gesucht und überall ein wenig gefunden, aber bin mir immer noch nicht sicher wie ich genau vorgehen sollte.

Als Königsweg stelle ich mir vor, dass ich meine IDE (Code::Blocks) als Crosscompiler einrichte und von Windows aus sowohl für Winsows als auch für die Pandora kompilieren kann. Ich habe mir auch mal das G++ Lite Paket von CodeSourcery heruntergeladen und hab Code::Blocks dafür konfiguriert, aber ab da fangen meine Probleme an:

- Was benötige ich damit ich SDL und OpenGL (bzw. OpenGL ES 1.x) auch mit einbinden kann?
- Wenn ich die ganzen benötigten SDL-Libs selber neu kompilieren muss, ist das dann noch legal im Sinne der GPL wenn ich diese Libs als SO's kompiliere und meinen Source nicht unter die GPL stelle?
- Wie debugge ich das ganze?

Wäre nett, wenn jemand etwas Licht ins Dunkel bringen könnte, danke!
 
Hi,
vielleicht hilft dir das was. Ist aus einem anderen Thema.
scachi said:
Hallo,

auf der Suche nach der Lösung meiner Probleme beim cross compilieren bin ich auf folgende hilfreiche Links/Dokumente gestoßen:
http://www.crosscompile.org/
http://free-electrons.com/
ins besondere dort das folgende Dokument http://free-electrons.com/doc/cross-compiling-lab.odt
mit Infos zu zlib und pnglib.

Vielleicht hilft es ja auch euch.
 
Danke das werde ich mir mal anschauen.
Ich hab inwzischen aus Bequemlichkeit eine Virtual Machine mit Ubuntu aufgesetzt um zumindest mal für Linux zu kompilieren.
Weiß jemand welche dieser Libs auf der Pandora schon installiert sein werden:

SDL_image
SDL_ttf
SDL_mixer
SDL_net
libpng
 
Genau das selbe habe ich auch vor. Also Sourcery G++ Lite und Codeblocks unter Windows. Und dort für die Pandora Cross Compilen.
Hatte auch schonmal angefangen aber dann kam irgendwas dazwischen und ich bin jetzt erst wieder drübergestolpert.
Ich schreibe jetzt einfach mal alles was ich bis dahin schon so zusammen bekommen hatte.

Hier erstmal die Steps um die Sample Application des Sourcery G++ Lite Compilers (factorial.c) für die Pandora zu kompilieren. Vielleicht hilft das vom Ansatz her ja schonmal weiter. (Nicht wundern das es in Englisch ist. Ich hatte das ganze als Tutorial Serie geplant aber habe nie was veröffentlicht.)

1. Downloading And Installing Sourcery G++ Lite
1. I choosed to download the Setup for Windows.

3. Compiling the Sample Program
1. Try to compile the sample program (factorial) with the Command Line: arm-none-linux-gnueabi-gcc -o factorial factorial.c
2. Try to start the Programm on the Pandora (I had to write ./factorial to execute it instead of factorial)

In einem zweiten Schritt habe ich dann aus factorial.c eine factorial.cpp Datei gemacht und die factorial Function templatisiert um auch sicherzugehen das ich C++ kompiliere. Das hat wunderbar geklappt.

Anstelle von arm-none-linux-gnueabi-gcc muss dann arm-none-linux-gnueabi-g++ benutzt werden.

Den Compiler in CodeBlocks einzubinden sollte keine allzugroßes Problem darstellen. Ich habe das auch schon mit anderen Compilern gemacht aber das ist laaaaaaange her.

Der letzte Stand von meiner Seite ist das ich es geschafft habe unter Windows eine X11 Application für die Pandora zu kompilieren.
Allerdings stürzt das Programm beim starten ab. Jetzt bräuchte ich also erstmal Möglichkeiten zum Debuggen.
So wie ich das aus meinen Notizen rauslese hatte ich das wohl übers Netzwerk mit dem gdb Server vor. Aber ab da hört es dann auf.

P.S: Ja ich weis der lezte Eintrag ist 2 Jahre her. Aber vielleicht hilft es ja jemandem oder bringt frischen Wind in die Sache

Gruß jadephantom
 
Ein Windows-SDK für die Pandora ist recht oft gewünscht und steht auf meiner (langen) ToDo-Liste (da ich eins laufen hab, was aber sehr gefrikelt ist und ich vorm Verteilen erst aufräumen möchte).

Im Grunde ist es aber nicht allzu kompliziert:
1. Die CodeSourcery Toolchain herunterladen/installieren: https://sourcery.mentor.com/sgpp/lite/arm/portal/package9731/public/arm-none-linux-gnueabi/arm-2011.09-70-arm-none-linux-gnueabi.exe
2. CodeBlocks herunterladen/installieren: http://forums.codeblocks.org/index.php?PHPSESSID=8683kbi0sjvnpbpee9ivctsiv1&board=20.0
3. lib und include Verzeichnis von der Pandora in den Installationspfad der Toolchain kopieren
4. CodeBlocks Compiler entsprechend einrichten
5. CodeBlocks Projekt einrichten
5. ???
6. PROFIT!!1

Naja vor allem Schritt 3-5 werden wohl nicht so selbstverständlich ablaufen, aber das ist zumindest der grobe Verlauf (hab leider grad nicht die Zeit in Details zu gehen, ich bastle einfach mal das SDK, dann sollte es eh einfacher werden).

Beachtet vor allem folgendes:
Wenn ihr die (oben verlinkte) neuste Toolchain und C++ benutzt müsst ihr stdc++ statisch linken (-static-stdc++), da die Version auf der Pandora (HF7) älter und inkompatibel ist! Ist nicht weiter schlimm, falls es dringend unerwünscht ist einfach eine ältere Version nehmen.
Folgende compiler/linker switches werden auch noch hilfreich sein: http://boards.openpandora.org/index.php?/topic/7138-best-gcc-command-options-for-pandora-compilation-sourcery-toolchain/

Viel Erfolg!
 
Hier ist ja doch noch leben im Thread :)
foxblock said:
Ein Windows-SDK für die Pandora ist recht oft gewünscht
Sehr schön. Das motiviert mich weiter zu machen.

@foxblock: Ich denke es sollte für mich nicht allzu schwer sein die von dir beschriebenen Schritte in einen NSIS Installer zu packen.
Bevor ich das mache würde ich aber erst gerne noch das debuggen via gdb Server über Netzwerk hinbekommen. Hast du das zufälligerweise schonmal gemacht?
 
Ne, hab gdb auf der Pandora ehrlich gesagt noch gar nicht genutzt, bisher nur auf dem PC, da gdb und die fehlenden Optimierungen schon recht doll in die Performance drücken und es einfach bequemer für mich ist (bzw ich zu faul war mir Skripts zum Kopieren der Dateien nach dem build zu basteln und lieber einfach nur einen Knopf in CodeBlocks drücke :p ).
Muss aber auch gestehen, dass ich bisher noch in keinen ARM-spezifischen Bug gelaufen bin wofür Debuggen auf der Pandora durchaus nützlich wäre (mal ausgenommen der stdc++ Version-Inkompatibilität).

Professionelle Hilfe zu dem Thema kriegst du aber auch eher im Englischen Forum oder IRC:
#gp2x.de auf EFnet (Deutscher Channel)
#openpandora auf freenode (Englischer Channel)

Viel Erfolg
 
foxblock said:
Professionelle Hilfe zu dem Thema kriegst du aber auch eher im Englischen Forum oder IRC:
#gp2x.de auf EFnet (Deutscher Channel)
#openpandora auf freenode (Englischer Channel)
Super. Danke dir für die Info.
Ich schreibe wieder sobald sich was ergibt.
 
Es gibt ne fertige Ubuntu Version für VirtualBox
Da spart man sich dann den spass das crosscompiling & co einzustellen.
Link hab ich leider nicht mehr und weiß auch nicht wie aktuell das ganze ist.
Hatte mir das mal angeschaut aber Ubuntu hat mich dann doch zu sehr verschreckt als das ich damit arbeiten wollen würde.
Wenn meine Pandora (hoffentlich repariert) zurück kommt dann werd ich mich ggf. mal dran machen da ne vernünftige VM zu basteln die ohne den Ubuntu gruselfaktor auskommt.
 
taake said:
Es gibt ne fertige Ubuntu Version für VirtualBox
Da spart man sich dann den spass das crosscompiling & co einzustellen.
Stimmt. Aber genau das möchte ich ja vermeiden. ;)
taake said:
Wenn meine Pandora (hoffentlich repariert) zurück kommt dann werd ich mich ggf. mal dran machen da ne vernünftige VM zu basteln die ohne den Ubuntu gruselfaktor auskommt.
Was möchtest du denn stattdessen nehmen :huh: . Ich empfand Ubuntu jetzt eigentlich als eine der einfachsten Linux Distributionen.
 
jadephantom said:
taake said:
Es gibt ne fertige Ubuntu Version für VirtualBox
Da spart man sich dann den spass das crosscompiling & co einzustellen.
Stimmt. Aber genau das möchte ich ja vermeiden. ;)
taake said:
Wenn meine Pandora (hoffentlich repariert) zurück kommt dann werd ich mich ggf. mal dran machen da ne vernünftige VM zu basteln die ohne den Ubuntu gruselfaktor auskommt.
Was möchtest du denn stattdessen nehmen :huh: . Ich empfand Ubuntu jetzt eigentlich als eine der einfachsten Linux Distributionen.
Es gibt Leute, die mögen "Klickibuntu" nicht; das sind meisten eher fortgeschrittene User. Ich kann verstehen warum, Ubuntu hat schon einige Nachteile, aber ich persönlich habe damit angefangen und mag es eigentlich ganz gern.
Die Frage nach Alternativen ist aber eher wegen der grossen Auswahl schwierig, als weil es nichts ähnlich Gutes gäbe, da findet man schon was.
 
Auch wenn das bisel Offtopic ist, aber das neue Ubuntu bringt einem halt nen wirklich bescheidenen Fenstermanager mit. Ein VM-Image basierend auf Xubuntu wäre was feines. ;)
 
Eine andere Möglichkeit, mit Windows für die Pandora zu entwickeln, wäre ein VNC-Viewer:

- Man startet auf der Pandora x11vnc (ist vorinstalliert afaik
- Man verbindet sich auf dem Windows-PC mit der Pandora (beispielsweise hiermit http://www.tightvnc.com/download.php) und entwickelt nativ.
 
carli said:
- Man verbindet sich auf dem Windows-PC mit der Pandora (...) und entwickelt nativ.

Das meinst du nicht ernst oder?
Hast du schon mal auf der Pandora compiliert?

Abgesehen davon brauchst du dann auch die Enwicklungsumgebung usw. alles auf der Pandora.
Abgesehen von nem größeren Screen, vollwertiger Tastatur und einer Maus bringt das nur Nachteile.


So wie ich die Sache sehen hast du genau 2 Möglichkeiten:
1. Du entwickelst von Windows aus und darfst dich dann mit maximaler incompatibilität rumplagen ( wenn du das machst schreib dir genau auf was du wie gemacht hast ... denn nicht vergessen es sind nur noch n tage bis zur nächsten neuinstall)
2. Du benutzt ne VM wo alles schon fertig eingestellt ist.

Zu deiner GPL Frage, solange du an den die unter die GPL2 fallen nichts veränderst darfst du sie auch für closed source projekte verwenden so war es jedenfalls bei der 2 wies bei der dreier aussieht weiß allerdings nicht genau. Nur wenn du die Libs selbst anpasst muss deine veränderung an das projekt zurückfliesen.
Am besten schaust du ob du nicht irgendwas unter ner BSD findest.
 
taake said:
carli said:
- Man verbindet sich auf dem Windows-PC mit der Pandora (...) und entwickelt nativ.

Das meinst du nicht ernst oder?
Hast du schon mal auf der Pandora compiliert?
Ja.
Zum Beispiel auch das Spiel pfahrer.
taake said:
Abgesehen davon brauchst du dann auch die Enwicklungsumgebung usw. alles auf der Pandora.
Abgesehen von nem größeren Screen, vollwertiger Tastatur und einer Maus bringt das nur Nachteile.

Ich ergänze: Putty zum Compiler-Starten und WinSCP für den Dateizugriff. (da hat man die IDE auf seinem eigenen Rechner, falls man beim Portieren mehr machen muss als nur Kompilieren)
 
Das schöne an WinSCP ist das man um Putty zu starten nur einen Button drücken muss und schon connected Putty auf die die aktuelle in WinSCP offene IP
 
Infinity said:
Das schöne an WinSCP ist das man um Putty zu starten nur einen Button drücken muss und schon connected Putty auf die die aktuelle in WinSCP offene IP
Das schöne an sshfs ist, dass es den entfernten Rechner gleich als Ordner einbindet (In Windows-Sprech: Laufwerk) und nicht über einen schlecht gemachten Explorer-Klon angesprochen werden muss.
 
carli said:
taake said:
carli said:
- Man verbindet sich auf dem Windows-PC mit der Pandora (...) und entwickelt nativ.

Das meinst du nicht ernst oder?
Hast du schon mal auf der Pandora compiliert?
Ja.
Zum Beispiel auch das Spiel pfahrer.
taake said:
Abgesehen davon brauchst du dann auch die Enwicklungsumgebung usw. alles auf der Pandora.
Abgesehen von nem größeren Screen, vollwertiger Tastatur und einer Maus bringt das nur Nachteile.

Ich ergänze: Putty zum Compiler-Starten und WinSCP für den Dateizugriff. (da hat man die IDE auf seinem eigenen Rechner, falls man beim Portieren mehr machen muss als nur Kompilieren)

Ehm das was der compilier da machen muss sind keine 500kb an Daten, das kann man selbst ohne nennenswerten Zeitaufwand auch auf nem guten Taschenrechner kompilieren.

Aber wenn man spass dran hat :p
Jedem das seine.
 
Back
Top