Programmieren aber wie?


Pliskin

Member
Joined
Apr 29, 2006
Messages
430
Location
Rüsselsheim
LOCATION
Rüsselsheim
So da man mir in alten treads nicht helfen will mach ich jetzt einen neuen tread auf.

Ich will Anfangen zu programmieren.
Was brauch ich. (WinXP user)
Habe c++ & DevKitGP2X.
brauche ich beide?

Beim Devkit ist die Readme nicht komplet :x
Systemsteuerung->System->Erweitert und dann ?:huh: wo ist der rest.
Ich frag mich wie die anderen es gemacht haben oder wissen die mehr.

Wenn es mit c++ geht dann wie.

Es gibt kein einzieges Howto zu den ersten schritten im forum. :(
Ich will nicht das man mir c++ erklärt aber wie ich vom CodeText zum xxx.gpe komme.
 
also, versuch ich Euch mal zu helfen. Ich werd mich dabei im Großen und Ganzen an die Beschreibung aus dem Wiki halten. Vielleicht sollt ich vorher noch erwähnen, dass ich selbst nicht unter Windwos programmiere (debian, anyone?). Hab also das devkit für Windows nicht mal runtergeladen und kann nicht nachprüfen, ob das, was die im wiki schreiben wirklich so stimmt - aber ich denk mal schon... Vielleicht kann ja auch noch mal jemand seinen Senf dazu abgeben, der das mal ausprobiert hat.

1. Compiler einrichten:
Ein Compiler übersetzt den von Euch geschriebenen Code in ein Format, dass der Computer (in diesem Fall der GP2X) lesen kann. Weil der GP2X nicht dieselbe Architektur hat, wie Euer PC benutzt ihr nicht einen normalen Compiler, sondern den aus dem devkitGP2X, einen sogenannten Cross-Compiler.

1.1
Also ladet Ihr das devkitGP2X hier ( http://archive.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,14,1362 ) runter und entpackt es in den Ordner C:\devkitGP2X. [Solltet ihr das devkitGP2X in ein anderes Verzeichnis entpackt haben, müsst ihr noch die Pfadangaben in den Dateien bin\arm-linux-sdl-config und demo\Makefile anpassen - Wenn ihr keinen Schimmer habt, was das nun zu bedueten habt, entpackt es einfach in C:\devkitGP2X und ihr seid auf der sicheren Seite]

1.2
Nun müsst ihr die Pfadangaben im Windows ändern. Das ist nötig, dass ihr beim kompilieren auf bestimmte Dateien des devkits zugreifen könnt. Und das macht ihr folgendermaßen:
1. rechter Mausklick auf "Arbeitsplatz" (im Menü oder auf dem Desktop, je nachdem, welche Ansicht ihr habt)
2. auf "Eigenschaften"
3. auf "Erweitert"
4. auf "Umgebungsvariablen"
5. Dort findet ihr ein Textfeld, indem wahrscheinlich schon mehrere Umgebungsvariablen stehen (irgendwas der Form "C:\windows\bin" oder wasuachimmer). Ihr klickt einfach hinter die letzte Umgebungsvariable und schreibt, jeweils von Semikolons getrennt die neuen Umgebungsvariablen dahinter. Das sieht dann so aus:

<bisherige>;C:\devkitGP2X\bin;C:\devkitGP2X\minsys\bin

2. Demoprogramm ausprobieren:
Jetzt habt Ihr schon alles, um die Demo aus dem Wiki zu kompilieren und auf eurem GP2X anzuzeigen:
2.1 SDL auf dem GP2X installieren. - Werd ich jetzt nicht näher drauf eingehen... Bei Fragen, fragen.
2.2 Sourcecode kopieren:
Kopiert den Sourcecode den Ihr unter http://wiki.gp2x.org/wiki/Demo_Program findet in die Datei C:\devkitGP2X\demo\demo.c Falls diese Datei schon existiert, ersetzt einfach den kopletten Inhalt der alten Datei mit dem, den ihr auf der Webseite findet. (Angeblich ist der Sourcecode dort überarbeitet worden)
2.3 Bild erstellen:
Erstellt im selben Verzeichnis eine .bmp -Datei. Wird wahrscheinlich schöner, wenn die Größe des Bildes 320x240 nicht überschreitet.
2.4 So sollte nun der Inhalt eures Ordners Demo aussehen:
Directory of C:\devkitGP2X\demo

01/25/2006 06:01 PM <DIR> .
01/25/2006 06:01 PM <DIR> ..
01/25/2006 05:05 PM 5,909 demo.c
01/24/2006 02:01 PM 30,054 image.bmp
11/30/2005 02:52 PM 588 Makefile

2.5 Das .gpe erstellen:
stellt sicher, dass Ihr Euch im richtigen Verzeichnis (C:\denkitGP2X\demo) befindet und führt einfach den Befehl make aus. Der sorgt dafür, dass das Makefile ausgeführt wird, dass sich in dem Verzeichnis befindet. Das Makefile ist eigentlich nur eine Erleichterung für den Programmierer. Man kann dort Regeln definieren, die beim Compilieren beachtet werden sollen (die richtigen libraries einbinden, usw).
Das Makefile startet dann den Compiler (Für den habt ihr unter 1.2.5 den Pfad in die Umgebungsvariablen eingetragen) und der erzeugt die Datei demo.gpe

2.6 auf dem GP2X ausführen:
Kopiert nun die Dateien demo.gpe und image.bmp in das root-Verzeichnis (also das "oberste" Verzeichnis im Verzeichnisbaum - anders gesagt nicht in einen Unterordner auf die SD-Karte) Startet nun den GP2X und wählt demo.gpe im Games Menü aus.

2.7 Anmerkungen:
Die Bilddatei musste in das root-Verzeichnis, weil der Source Code explizit diesen Ordner aufruft. Es ist sehr viel schöner, wenn man beim Programmieren relative Pfade benutzt. Das bedeutet, die Resourcen-Dateien (wie im unseren Fall das Bild) werden in einen Ordner relativ zum Sourcecode geschrieben.

Und jetzt?
Falls Ihr das Programm zum laufen bekommen habt (es sollte Euch das Bild anzeigen, das ihr in die Datei image.bmp abgelegt habt), könnt Ihr nun zum eigenen Programmieren übergehen. Wie ihr in SDL programmiert, werd ich nun erst mal nicht erklären... Gibt auch ein paar gute Tutorials zu diesem Thema.
Und das Kompilieren könnt Ihr so machen, wie Ihr es nun für die demo gemacht habt. Kopiert Euch einfach das Makefile in den Ordner, indem Euer Quellcode gespeichert ist, und passt die Namen der Ein und Ausgabedateien an.

Und nun: happy coding
 
Pliskin said:
So da man mir in alten treads nicht helfen will mach ich jetzt einen neuen tread auf.
Sorry, hab erst gestern abend deine Frage beim DevKit gefunden und nach Fussi hatte ich keine Lust mehr die zu beantworten :(.
Jo hat eine super Anleitung geschrieben, da steht ja jetzt alles komplett drin. Waere schoen, wenn du hier mal schreiben koenntest, ob alles geklappt hat.
 
Habe ich das richtig verstanden
Ausführen->cmd komme ich in konsole
Problem ist kann den blöden pfad nich ändern. Bleibt immer bei "C:\Dokumente und Einstellungen\Pliskin"
Oder habe ich die falsche konsole geöffnet?
 
hat hingehauen ^_^
Aber muste die cmd.exe in den E:\devkitGP2X\demo reinmachen damit er den pfad hatte.
das compilieren ist schon etwas komplizierter als in c++ :huh:
Und mit dem Editor die programme zu schreiben ist auch nicht das ideale (keine syntaxfehler überprüfung)

Aber was habe ich zu meckern, es funkzt. ^_^
 
es gibt zwar schönere Möglichkeiten, als die cmd.exe in den Pfad des Programms zu kopieren - aber so lange es erst mal läuft... :)

Vielleicht kannst Du bei Gelegenheit mal DevC++ ausprobieren. Kompilieren kannst Du dabei immer noch so, wie Du es im Moment machst, aber wenigstens hast Du die Syntaxüberprüfung.

Und eigentlich müsste man DevC++ so einstellen können, dass er aus dem Programm heraus kompiliert. (also ein Klick statt Konsole öffnen, durch die Verzeichnisse navigieren und make ausführen) Dann brauchst Du auch die cmd.exe nicht immer zu kopieren. Vielleicht kann das jemand erklären, der das Programm slebst benutzt.
 
Eigentlich brauchst du die cmd.exe nicht in das Verzeichnis kopieren, damit es funktioniert, dafuer hast du naemlich die Umgebungsvariablen gesetzt. D.h. du fuehrst die cmd.exe unter Start-Ausfuehren aus (einfach nur 'cmd' eingeben) und bekommst dann deine Konsole. Danach wechselst du in das Unterverzeichnis, in dem du das entsprechende Programm hast (in diesem Fall in das Demo Verzeichnis des Devkits) und dort kannst du dann 'make' ausfuehren. Das Programm wird dann kompiliert und braucht danach nur auf den GP2x kopiert werden.
DevC++ hab ich auch schon verwendet, allerdings ist das bei mir wieder von der Platte geflogen. Ich weiss nur noch, dass da die entsprechenden Pfade und Programme zum Kompilieren eingetragen werden muessen.
Im Wiki gibts dazu einen Artikel (http://wiki.gp2x.org/wiki/Using_Devcpp), allerdings ist der auch wieder in Englisch geschrieben...
 
Ausführen->cmd habe ich schon versucht gehabt, das problem war er hat den pfad nicht akzeptiert und ja er war richtig geschrieben.
Ich konnte nur zwischen den laufwerken wechseln:
C:\Dokumente und Einstellungen\Pliskin, D:\ und E:\ mehr ging nicht.
 
ja also bsp liegt das ganze in e:\bla\blub\x

dann tippst du dort ein

e:
cd bla\blub\x
und schon bist in dem ordner

oder kannst auch
e:
cd bla
cd blub
cd x

und so weiter =)

cd ist übrigends das kürzel für change directory, also verzeichnis wechseln ^^
 
Danke ^_^

Habe es ausprobiert, und es funkzt.
Habe zwar help eingegeben um alle befehle mir anzuschauen, muss wohl cd übersehen haben.
 
Kann man doch sicherlich auch einen besseren Editor für Windows für das reine Quellcode erstellen finden, der dann auch den Syntax farbig darstellt, wenn nicht sogar auch für c überprüft. Andererseits wäre es auch nicht schlecht, wenn einer ein VMWare Linux Kit zusammenstellt. Dann könnte man mit VMplayer auch unter Windows leicht unter Linux programmieren und Tutorial brauchen die meisten ja eh. Also egal ob mit Windows Devkit oder Linux Devkit. Vorteil dürfte sein, dass man von einer einheitlichen Plattform operiert und nicht so leicht aneinander vorbeiredet!
 
baggacfreaks said:
Kann man doch sicherlich auch einen besseren Editor für Windows für das reine Quellcode erstellen finden, der dann auch den Syntax farbig darstellt, wenn nicht sogar auch für c überprüft

hey jo unter windoofs nimmste --> Programmers Notepad

mfg
tom
 
baggacfreaks said:
Kann man doch sicherlich auch einen besseren Editor für Windows für das reine Quellcode erstellen finden, der dann auch den Syntax farbig darstellt, wenn nicht sogar auch für c überprüft. Andererseits wäre es auch nicht schlecht, wenn einer ein VMWare Linux Kit zusammenstellt. Dann könnte man mit VMplayer auch unter Windows leicht unter Linux programmieren und Tutorial brauchen die meisten ja eh. Also egal ob mit Windows Devkit oder Linux Devkit. Vorteil dürfte sein, dass man von einer einheitlichen Plattform operiert und nicht so leicht aneinander vorbeiredet!

Editoren: Ultraedit(macht keine validierung des codes) oder eclipse mit c/c++ plugin(nicht so gut wie die java unterstuetzung)

Du brauchst eigentlich gar keinen vmplayer. Linux geht auch mit colinux
http://www.colinux.org/

Gruss Henning
 
sry das ich alte thread öffne.

Da ich inzwischen fast nur linux / ubuntu nutze und unter linux Proggen lerne bitte ich um eine Anleitung für linux.

Ich habe mir gp2xdev-toolchain gezogen.
Mit der Readme kann ich nicht anfangen.
Leider finde ich nichts im Forum was mir weiterhilft.
Wenn ich das makefile im toolchain verzeichnis Ausführe, dann zeigt er mir das an.
Code:
mkdir -p '/gp2x/include/asm'
cp -RHp linux-2.6.12.0/include/asm-arm/*.h '/gp2x/include/asm'
mkdir -p '/gp2x/include/linux'
cp -RHp linux-2.6.12.0/include/linux/*.h '/gp2x/include/linux'
rm -Rf glibc-2.3.5/build-gp2x-headers
mkdir -p glibc-2.3.5/build-gp2x-headers
cd glibc-2.3.5/build-gp2x-headers && ../configure --prefix='/gp2x' --build=`uname -m` --host=gp2x --disable-nls --enable-add-ons=linuxthreads --enable-omitfp --enable-shared --with-headers='/gp2x/include' --without-fp && make install-headers
checking build system type... x86_64-pc-none
checking host system type... arm-gp2x-linux-gnu
running configure fragment for add-on linuxthreads
checking sysdep dirs... sysdeps/arm/elf linuxthreads/sysdeps/unix/sysv/linux/arm linuxthreads/sysdeps/unix/sysv/linux linuxthreads/sysdeps/pthread sysdeps/pthread linuxthreads/sysdeps/unix/sysv linuxthreads/sysdeps/unix linuxthreads/sysdeps/arm sysdeps/unix/sysv/linux/arm sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/arm sysdeps/unix sysdeps/posix sysdeps/arm sysdeps/wordsize-32 sysdeps/ieee754/flt-32 sysdeps/ieee754/dbl-64 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for gp2x-gcc... no
checking for gcc... no
checking for gp2x-cc... no
checking for cc... no
checking for cc... no
checking for gp2x-cl... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
make: *** [/gp2x/include/stdio.h] Fehler 1

Meckert er wegen den Compiler ? Ich benutze gcc-4.0.3.
und wofür erstellt der mir im root ein GP2x verzeichnis :twisted:
 
Pliskin said:

http://archive.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,14,1040

Afair muss man da nicht ein einziges mal
von Hand ein make aufrufen.

Wegen dem Verzeichnis: Schlussendlich musst Du
eine komplette Umgebung haben fuer den GP2X,
inkl. den Bibliotheken (vor allem SDL) und dem
Compiler in der richtigen Version.
Also macht Dir das Skript eine Crosscompilingumgebung,
damit Du nicht ein Durcheinander mit Deinen
Bibliotheken und Anwendungen bekommst.

Und ja, oben im configure vermisst er tatsaechlich
einen c compiler. Da ich allerdings nicht nachvollziehen
kann welches devkit Du von welcher Quelle
her heruntergeladen hast kann ich Dir nicht weiterhelfen.

Fuchs
 
Back
Top