1

voila pour l'instant un lien vers le forum espagnole de GP32Spain oui un gars a donne des infos sur la compilation sous windows. J'essairais d'en faire une traduction quand j'aurais le temps wink
http://www.gp32spain.com/foros/showthread.php?t=24690
Bonjour. Aujourd'huit, grace aux personnes du forum de GP32x, j'ai reussit a generer un executable pour la GP2X qui utilise les libreries SDL depuis Windows XP apres avoir essaye depuis plusieurs jours sans y parvenir, et c'est pour ca que j'ai decide d'expliquer ici mon parcourt. Et cela, je n'ai pas encore de console, sans avoir pu essayer en vrai, mais quelqu'un du forum a suivi les meme pas (pour etre plus preci, j'ai suivis les siens) et il semble que ca fonctionne.

Avant tout, on programe en C/C++ et j'ai pris un mois avec les SDL (j'ai deja termine un jeux, pres pour etre compile pour la GP2x), mais je ne connait pas tres bien le gcc/g++ ni les Makefile, ainsi que quelques choses m'echapent. Mais enfin, en essayant et avec l'aide de GP32x j'ai reussi a faire quelque chose.

J'ai utilise:

* Le DevKit de WinterMute. Avec ca on a les compilateurs qui generent le code pour la GP2X en utilisant les librairies deja compilees pour le systeme.
* Les librairies gp2xlibs, dans lesquelles il y a les SDL compilees pour la GP2X.
* L'environnement de developpement Dev-C++.
* l'archive "main.cpp" qui est dispo ICI.


ET voila les pas:

1. J'ai programe en utilisant la IDE Code::Blocks. Que chaqu'un utilise celle qu'il appreci le plus, bien qu'au final j'ai reussi a le faire fonctionner depuis Dev-C++ peut etre il est plus adequate utiliser cette outil directement, en dechargeant les SDL pour Windows.

2. J'ai telecharge le DevKit et suivit ces inctuctions au pied de la lettre (structire de repertoire et variable d'environnement), excepte dans le premier pas dans lequel il est di qu'il manque de telecharger le DevKit adequate, car je l'ai deja. Au final il suggerant d'utiliser l'editeur programeur Notepad pour programer, mais comme je l'ai deja dis, depuis Dev-C++ ca a fonctionne donc ce n'est pas necessaire. Il est aussi necessaire, comme on peut le lire, MinSys, surtout pour pouvoir executer les instructions "make" (Il est dis que DevKit n'est pas pensé pour CygWin).

3. j'ai telecharge les gp2xlibs et une fois decompressees j'ai copié tout ce qu'il y a dedans de son sous repertoire "gp2xlibs/opt/local/gp2x/include" dans le repertoire "include" de DevKit. et de meme pour "gp2xlibs/opt/local/gp2x/libs", qui vont dans "libs" de DevKit.

4. J'ai executé Dev-C++ et cree une nouvelle configuration de compilation. Ceci est necessaire pour faire en sorte que Dev-C++ execute le compilateur adaquate. Pour ca, je suis allé dans Outils->Options du compilateur (je ne sais pas le nom exacte en castillant car je l'ai en catalan, mais j'imagine que ca doit etre quelque chose de ressemblant), et dnas l'onglet "Compilateur" je lui ai donné le signe + pour creer la nouvelle configuration, et je lui ai donné un nom ("GP2X").

4.1. Pour indiquer a Dev-C++ quel compilateur utiliser ("gcc" pour les programes en C, et "g++" pour les programes C++), je suis alle dans l'onglet "Programes" et j'ai fait en sorte que "gcc" pointe vers "arm-linux-gcc.exe" qu'on trouve dans le repertoire "bin" de DevKit. Le champ "g++" j'ai fait en sorte qu'il pointe vers "arm-linux-g++.exe".

4.2. Maintenant il est necessaire que Dev-C++ sache ou trouver les fichiers d'entete (les ".h") et les librairies (".a"). Pour cela, j'ai ete dans l'onglet "Repertoires" et dans le sous menu "Librairies" J'ai suprime celles qu'il y avait et j'ai ajouté celles qu'il y a dans DevKit ("PATH_DEL_DEVKIT\lib"). Dans le menu des includes C (¿"Inclusions C" en castillan?) j'ai supprimé les repertoires existant et j'ai remplacé ("PATH_DEL_DEVKIT\include"). Finalement, dans "Inclusions C++" j'ai remplacé les originales et je les ai ajouté: "PATH_DEL_DEVKIT\lib\gcc\arm-linux\4.0.2\include", "PATH_DEL_DEVKIT\include", "PATH_DEL_DEVKIT\include\c++\4.0.2\backward", "PATH_DEL_DEVKIT\include\c++\4.0.2\arm-linux" et "PATH_DEL_DEVKIT\include\c++\4.0.2". je ne sais pas si les trois dernieres sont indispensables, mais c'est comme ils disaient sur l'autre forum. Si quelqu'un veut tester si sans elles ca fonctionne, qu'il nous l'explique.

4.3. J'ai créé un nouveau projet dans Dev-C++ (Fichier->Nouveau->Projet) vide ("Empty Project"). alors j'ai du modifier la configuration du compilateur pour qu'il utilise celle que j'ai créé anterieurement (Projet->Options de Projet->Compilateur, et dans le champ "Compilateur" j'ai selectionné "GP2X" dans la liste).

4.4. j'ai ajouté le fichier "main.cpp" au projet.

4.5. Avant de compiler, je lui ai donné les instructions à Dev-C++ pour qu'il utilise la librairie "libSDL.a" (Projet->Options du Projet->Paramètres..., et dans le champs "enlassement" j'ai ajouté (bouton "Ajouter librairie ou objet") les fichiers "libSDL.a" et "libSDLmain.a" qui se trouvant dans "PATH_DEL_DEVKIT\lib".

4.6. J'ai compilé (bouton "Compiler" ou CTRL+F9) et il m'a généré une archive ".exe" que j'ai renommé en ".gpe" (il génère un ".exe" parceque comme il est di dans le Makefile qui génère -"Makefile.win"-, mais je crois qu'en le changeant en ".gpe" cela suffit.

Je laisse le "gpe" pour que les peux (je vous haïs profondément) qui ont déja la console l'essayant et confirmant si ca fonctione ou non.

Bon, voila c'est fini. J'espere que cela soit utile. Et j'espere qu'il y ait des corrections de la part des experts.
Ah, et comme je le disais au début, j'ai terminé de programer un jeux, qui fonctione parfetement sur Linux et Windows. Le probleme est qu'en utilisant SDL_mixer et SDL_image cela me donne une montagne de messages "undefined reference" quand je le compile pour GP2X, en pensant que j'inclue aussi ces librairies au projet. Moi, j'en suis resté là pour l'instant...


Voila la trad j'espers que ca pourra vous aider et desole pour les eventuelles erreurs

2

A oui ça m'interesse si tu fais une traduction....

3

4

le meme config mais en utilisant visual C
http://wiki.gp2x.org/wiki/Using_Visual_C_2005_Express_Edition

quelques infos sur ce thread:
http://www.gp32x.com/board/index.php?showtopic=22436
quelques info sur la gestion du joy:
http://wiki.gp2x.org/wiki/SDL_Joystick_mapping

5

Bon avec Dev-C++ j'ai des erreurs de link
[linker error]undefinied refercece to 'cos'
etc...

Bref toute les fonction de math (cos, sin, pow) ...
Si quelqu'un a une idée ... tongue

6

A priori, tous ce qui touche aux math est dans la libm. Reste a soivoir si elle est dispo sur gp2x.
essaye de faire l'edition des liens avec -lm

7

pepone :
A priori, tous ce qui touche aux math est dans la libm. Reste a soivoir si elle est dispo sur gp2x.
essaye de faire l'edition des liens avec -lm

oui ça marche mieux avec les lien -lm
j'ai reussi a compilé
mais il me reste des Warnings
du style
[Warning] incompatible implicit declaration of built-in function 'strlen'
ou
[Warning] incompatible implicit declaration of built-in function 'memcpy'

8

thyphoon
:
pepone :
A priori, tous ce qui touche aux math est dans la libm. Reste a soivoir si elle est dispo sur gp2x.
essaye de faire l'edition des liens avec -lm

oui ça marche mieux avec les lien -lm
j'ai reussi a compilé
mais il me reste des Warnings
du style
[Warning] incompatible implicit declaration of built-in function 'strlen'
ou
[Warning] incompatible implicit declaration of built-in function 'memcpy'

et une fois lancer sur la GP2X ça reste un ecran noir de chez noir ...
Bref faut que je regarde ça de plus prêt

9

Thyphoon commence peut être par un exemple contenu dans SDL .
Tu sais il faut toujours commencer par ce qui doit marcher.
Dis nous si tu arrives à faire fonctionner un exemple tout basique.
Car suivant la version du linux, la compilation est plus ou moins sympatique avec les "flood error" (dépassement de mémoire que tu as du faire sans le vouloir
dans ton code.
avatar
:*)

10

bille2 :
Thyphoon commence peut être par un exemple contenu dans SDL .
Tu sais il faut toujours commencer par ce qui doit marcher.
Dis nous si tu arrives à faire fonctionner un exemple tout basique.
Car suivant la version du linux, la compilation est plus ou moins sympatique avec les "flood error" (dépassement de mémoire que tu as du faire sans le vouloir
dans ton code.

des que je peu je refait des tests..ce week end surement !!!!

11

thyphoon :
[Warning] incompatible implicit declaration of built-in function 'strlen'
ou
[Warning] incompatible implicit declaration of built-in function 'memcpy'

#include <string.h>
So much code to write, so little time.

12

nitro :
#include <string.h>

Merci !!! tongue j'ai pu de warning (j'ai pas reussi a trouver une liste des fonctions avec le la lib correspondante.
Je reste un debutant en C lolllllllll

Bon le jeu une fois compilé ne fonctionne pas plus la gp2X..toujours un ecran noir...
DOnc je vais essayer de compilé un truc tout bête genre afficher une image grin

13

j'ai testé avec un simple programme mais ça ne marche pas non plus (aucune erreur de compilation)... parcontre j'utilise le make d'origine de DevC++ si quelqu'un a une idée ou qu'il a essayé de configurer différement son Dev-C++ il peut m'envoyer son fichier.gpe je le testerais sur ma console si il ne l'a pas encore reçu tongue
#include <SDL/SDL.h>

#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240
#define SCREEN_DEPTH 8

int main(int argc, char *argv[]) {
SDL_Surface *screen;
Uint8 *p;
int x = 10; //x coordinate of our pixel
int y = 20; //y coordinate of our pixel

/* Initialize SDL */
SDL_Init(SDL_INIT_VIDEO);

/* Initialize the screen / window */
screen = SDL_SetVideoMode(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_DEPTH, SDL_SWSURFACE);
int iy = 0;
for(iy = 20; iy < 40; iy++)
{
int ix =0;
for(ix = 20; ix < 40; ix++)
{
/* Make p point to the place we want to draw the pixel */
p = (Uint8 *)screen->pixels + (y+iy) * screen->pitch + (x+ix) * screen->format->BytesPerPixel;

/* Draw the pixel! */
*p=0xff;
}
}

/* update the screen (aka double buffering) */
SDL_Flip(screen);
while(1); }

14

j'ai une question, pour faire fonctionne sous VC++ , il faut juste le devitkitpro pour la gp2x ou ce dernier et devkitarm?

15

grincheux :
j'ai une question, pour faire fonctionne sous VC++ , il faut juste le devitkitpro pour la gp2x ou ce dernier et devkitarm?

http://wiki.gp2x.org/wiki/Using_Visual_C_2005_Express_Edition
t'as pas trouve de reponse la dessu?

16

# Extract devkitGP2X to c:\devkitpro, so you end up with a devkitGP2X folder inside c:\devkitpro. # Add c:\devkitpro\devkitGP2X\bin to your PATH.


ben quand je vois ca j'ai l'impression qui parle de deux devkitpro je comprend peut etre mal

17

DevkitPro comprend tous les binaries et lib ... pour les plateformes ARM, PPC et PSP.
Moi je suis sur le DevKit "tout court", qui est plus restreint et dont l'arborescence est plus courte avec DevC++ plus librairies SDL.
Et j'ai aussi des petits pb dès que je passe sur ma GP2X. Surement des histoires d'adressage mémoire. Je creuse.

18

quelqu'un a t-il reussi a installe le sdk pour visual studio express 2005 ?

19

TheVinZ :
DevkitPro comprend tous les binaries et lib ... pour les plateformes ARM, PPC et PSP.
Moi je suis sur le DevKit "tout court", qui est plus restreint et dont l'arborescence est plus courte avec DevC++ plus librairies SDL.
Et j'ai aussi des petits pb dès que je passe sur ma GP2X. Surement des histoires d'adressage mémoire. Je creuse.

Est-ce que tu as reussi a avancé ?

20

thyphoon :
Est-ce que tu as reussi a avancé ?


Yes.
En fait je compile bien et le gpe tourne parfaitement sur gp2x si je passe par un make en command line. Par contre, avec devc++, mon gpe fait la moitié de la taille et ne tourne pas sur gp2x. Un pb de link des lib sdl, en fait j'ai pas creusé le paramétrage devc++ (option -static au compilo m'a t on soufflé) car maintenant je compile en command line et j'avance sur ma petite démo oldschool atari-like ...
Mais, au final, référez vous principalement au wiki sur le dev pour gp2x qui est ici : http://wiki.gp2x.org/wiki/Getting_started_with_GP2X_development
C'est le plus fonctionnel je trouve ...
Et puis tiens, allez voir ça aussi, amis codeurs. C'est du bon : http://cone3d.gamedev.net/cgi-bin/index.pl?page=tutorials/gfxsdl/index

21

apparament il existerais une librairie SLD_mixer qui fonctionnerait et permetrait enfin d'encoder pour la GP2X avec du son grin pour l'instant elle ne permetrait d'utiliser que du fichier xm et wav mais bientot du mp3 etogg wink

22

Yod4z :
apparament il existerais une librairie SLD_mixer qui fonctionnerait et permetrait enfin d'encoder pour la GP2X avec du son grin pour l'instant elle ne permetrait d'utiliser que du fichier xm et wav mais bientot du mp3 etogg wink


ahah ! Intéressant pour le mp3.
T'as eu l'info où ?

23

24

On peut trouver quelques info sur le wiki mais il semblerais, je dis bien il semblerais que pas beaucoup de monde y soit arrive wink
http://wiki.gp2x.org/wiki/SDL_mixer

25

Cool je susi allé sur le site de "ripp it after me" et j'susihjeureux il est en français. C'est cool je vais pouvoir encoder mes DVD, même ceux que j'ai jamais regardé ! lol !

LAF ! ! ... !
avatar
"Je peux pas vous faire le cris du tube de colle." Dixi premier CD de Naheulbeuk

Soutenez la presse indépendante achetez Pirates mag. Je ne parle pas au cons, cela les instruit.
J'ai créé un topic avec un tutorial pour créer une alim 3V stabilisé avec le 5V fournit par le port USB avec en plus la posibilité d'utiliser le cable de liason GP32 <-> PC voir là :
[url]topics/48646-une-alim-3v-a-partir-du-prt-usb [/url]

26

LAF :
Cool je susi allé sur le site de "ripp it after me" et j'susihjeureux il est en français. C'est cool je vais pouvoir encoder mes DVD, même ceux que j'ai jamais regardé ! lol !

LAF ! ! ... !

il ya meme un tuto plutot clair wink et fairuse aussi a un tres bon tuto en flash et il est en francais wink

27

C'est quoi fairuse ?

LAF ! ! ... !
avatar
"Je peux pas vous faire le cris du tube de colle." Dixi premier CD de Naheulbeuk

Soutenez la presse indépendante achetez Pirates mag. Je ne parle pas au cons, cela les instruit.
J'ai créé un topic avec un tutorial pour créer une alim 3V stabilisé avec le 5V fournit par le port USB avec en plus la posibilité d'utiliser le cable de liason GP32 <-> PC voir là :
[url]topics/48646-une-alim-3v-a-partir-du-prt-usb [/url]

28

plutot qui hu²

29

voila un petit mode 7 pour la GP2x avec le code source:La
en appuiant sur START on sort du programe.
develloppe par chui et modifie par K-teto mais librement utilisable.