1

Bonjour.

Je viens de m'installer un environement de developpement GP32 sous Linux (installer est un bien grand mot, ca se fait tout seul...)

Mais j'aimerai developper en SDL. J'ai telecharge la version GP32 de SDL mais je n'arrive pas a l'installer ; y aurait-il une doc quelque part expliquant comment installer ca ?

2

ben c'est pas très compliqué. Je comptais justement écrire un tuto.
Tu installes tes includes dans le répertoire des includes : /usr/arm-thumb-elf/include/SDL
les libs dans le rep des libs :
/usr/arm-thumb-elf/libs

et ça doit être à peu près tout.

le + dur : faire correspondre un makefile à ton environement.
je te conseille celui de blanquita, il est clair et facile à modifier.

voilà, en attendant que j'écrive tout ça plus précisément dans un tuto, car là c'est de mémoire que je compose grin


mon site dessins en tout genre ( BD, presse... ) :
http://loupekele.free.fr
mon site de peinture :
http://dmontoro.free.fr

3

Ah merci, en fait la lib se copiait toute seule dans le bon repertoire mais pas les includes. Maintenant ca compile, mais fait la tete a l'edition des liens... J'ai l'impression qu'il ne trouve aucune reference.

Une remarque: je suis un peu surpris que la compilation soit beaucoup plus rapide pour GP32 que pour x86. La version GP32 est super allegee ou j'ai rate quelque chose ?

arm-thumb-elf-g++ -nostartfiles -Wall -Wl,-Map,Test.map -T lnkscript crt0.o -lm -lSDL -o trblazer.elf game.o gfx.o main.o map.o road.o
game.o: In function `GAMEExecute':
/home/erwan/Documents/GP32/prog/trailblazer-0.9/game.c:92: undefined reference to `SDL_GetTicks'
gfx.o: In function `GFXInitialise':
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:37: undefined reference to `SDL_Init'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:40: undefined reference to `SDL_SetVideoMode'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:44: undefined reference to `SDL_WM_SetCaption'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:46: undefined reference to `SDL_CreateRGBSurface'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:51: undefined reference to `SDL_Quit'
gfx.o: In function `GFXTerminate':
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:61: undefined reference to `SDL_FreeSurface'
gfx.o: In function `GFXLChar':
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:90: undefined reference to `SDL_MapRGB'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:93: undefined reference to `SDL_MapRGB'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:93: undefined reference to `SDL_FillRect'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:118: undefined reference to `SDL_FillRect'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:118: undefined reference to `SDL_FillRect'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:118: undefined reference to `SDL_FillRect'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:118: undefined reference to `SDL_FillRect'
gfx.o:/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:118: more undefined references to `SDL_FillRect' follow
gfx.o: In function `GFXColour':
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:184: undefined reference to `SDL_MapRGB'
gfx.o: In function `GFXUpdate':
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:194: undefined reference to `SDL_UpdateRect'
gfx.o: In function `GFXMapToColour':
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:218: undefined reference to `SDL_MapRGB'
gfx.o: In function `GFXSyncAndUpdate':
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:242: undefined reference to `SDL_GetTicks'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:256: undefined reference to `SDL_GetTicks'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:258: undefined reference to `SDL_GetTicks'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:259: undefined reference to `SDL_GetTicks'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:251: undefined reference to `SDL_UpperBlit'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:252: undefined reference to `SDL_UpperBlit'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:254: undefined reference to `SDL_UpperBlit'
gfx.o: In function `_GFXCreateBall':
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:270: undefined reference to `SDL_MapRGB'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:273: undefined reference to `SDL_SetColorKey'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:279: undefined reference to `SDL_MapRGB'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:279: undefined reference to `SDL_FillRect'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:290: undefined reference to `SDL_MapRGB'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:290: undefined reference to `SDL_FillRect'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:301: undefined reference to `SDL_FillRect'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:303: undefined reference to `SDL_FillRect'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:312: undefined reference to `SDL_MapRGB'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:312: undefined reference to `SDL_FillRect'
gfx.o: In function `GFXPollKeyboard':
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:333: undefined reference to `SDL_PollEvent'
gfx.o: In function `GFXClearRect':
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:363: undefined reference to `SDL_MapRGB'
/home/erwan/Documents/GP32/prog/trailblazer-0.9/gfx.c:363: undefined reference to `SDL_FillRect'
road.o: In function `ROADPaintStart':
/home/erwan/Documents/GP32/prog/trailblazer-0.9/road.c:115: undefined reference to `SDL_GetTicks'
collect2: ld returned 1 exit status
make: *** [trblazer.elf] Erreur 1


(PS: il s'agit d'un petit jeu en sdl que j'ai trouve sur le net)

4

-

5

hem ! Il me semble qe tu devrais rajouter dans ton makefile les appels aux librairies gp32 : -lgpstdio -lgpos -lgpsound ........etc...

rajoute les après l'appel à -lSDL
mon site dessins en tout genre ( BD, presse... ) :
http://loupekele.free.fr
mon site de peinture :
http://dmontoro.free.fr

6

Oui et regarde bien si tu as le SDL.h dans ton chemin.

Si tu ne vois pas ce que cel veux dire, envoi moi un mini message .
avatar
:*)

7

Pekele: meme probleme...

bille2: c'est pas un probleme a la compilation, mais a l'edition des liens.

8

j'ai eu le même pb que j'ai résolu dans le makefile en entrant le bon ordre des librairie à compiler.
SDL.a par l'intermédiaire de la commande -lSDL doit être appelé avant toutes les autres libs.

vérifie ce qu'il en est.

mon site dessins en tout genre ( BD, presse... ) :
http://loupekele.free.fr
mon site de peinture :
http://dmontoro.free.fr

9

Bon, avec -lSDL au debut de la commande ne change rien...

Au fait, la taille de libSDL.a est 311544 octets. C'est bien ca ?

10

Hum effectiveemnt c'est lédition des liens...
Et si tu écris comme cela :
arm-thumb-elf-g++ -nostartfiles -Wall -Wl,-Map,Test.map -T lnkscript crt0.o -lm -lSDL -o trblazer.elf game.o gfx.o main.o map.o road.o

Pour ma part le makefile sort avec un :

gcc -o blanquit.elf crt0.o gpstart.o blanquita.o proceso.o video.o -Tlnkscript user_init.o
-nostartfiles -lm -lgpos -lgpstdio -lgpstdlib -lgpsound -lgpmem -lgpg
raphic -lgpfont -lSDL -lgpstdio

Y'a de grande chance que les libs gp te soit utiles. De même les .o avant le -lSDL me semble plus confortable.
Qu'en penses tu ?
avatar
:*)