PDA

Voir la version complète : [GBA][Aide] probleme de compilation


njo80
21/02/2006, 16h00
Bonjour, alors voila j'ai un petit problème
j'ai récupéré quelques sources de tetris et j'aimerais bien
programmer mon propre tetris mais dabord je voudrais compiler ceux que
j'ai récupéré mais il y a un problème je n'arrive pas à compiler
à chaque fois j'ai la même erreur qui revient :

"No rules to make target '../projet' , needed by 'tetris.elf'. stop"

Si vous pourriez me dire comment faire car je ne comprends pas, si vous voulez je peux envoyer le zip pour que vous le compiliez.

Personnellement je compile avec ham je pense que le problème vient de ça je dois mal avoir paramètré ham mais je ne sais pas comment faire.

Merci

Mollusk
21/02/2006, 16h03
fais un clean avant, et apres recompile

njo80
21/02/2006, 16h08
je viens de le faire mais ca me marque toujours la même chose

Arcadia
21/02/2006, 16h11
Le tetris c'est le tetris fait sous HAM par Aaron Roger ? Si oui il ne devrait pas y avoir de soucis, et on regardera çca de plus près avec toi. Si non, et bien je sais pas trop car utilisant HAM également, je n'ai jamais réussis à compiler un projet réalisé autrement que par HAM. a chaque fois il y avait un truc qui foirait :unsure: ...

njo80
21/02/2006, 16h18
Le tetris que j'ai est celui de Choopan Rattanapoka.
Mais il a était réalisé sous ham
Je suis allé sur gbadev.org et la bas ya plein de source
j'en ai pris quelques unes et yen a aucune qui se compile
j'ai la même erreur a chaque fois.

Sinon peut tu me dire ou je peux trouver le tetris de Aaron Roger

Merci

Arcadia
21/02/2006, 16h58
Sinon peut tu me dire ou je peux trouver le tetris de Aaron Roger

Merci

Certainement, voici l'adresse (http://www.aaronrogers.com/ham/Day7/day7.php):) (sous le listing les sources sont téléchargeables).

Je ne sais plus ce que vaut le tétris d'Aaron, mais j'ai bien étudié les exemples d'Aaron Roger et je peux te dire qu'il y a pas mal de choses sympas à faire sous HAM et ces tutos de roger aident bien au départ, ne serait-ce que pour avoir une première approche de la programmation sur console (on voit vite les resultats et ça motive !). Après l'ideal est de se mettre a bosser le hardware et programmer en dur, mais vue la durée de vie de la console, je me demande si ça vaut le coup :hum: ...

Maintenant pour ton problème, si tu pouvais mettre un lien direct de la rom, que je puisse l'étudier chez moi, on sait jamais...

Mollusk
21/02/2006, 17h02
Je tiens à signaler que meme si j'ai appris sur le tutos de Aaron, et meme s'il a fait des bons tutos pour PAlib aussi (trop vieux maintenant, certes), il faut faire très attention : le VBL n'est pas l'endroit où placer tout son code... Le VBL ne doit contenir que peu de code, et les choses à mettre à jour tout le temps (le pad, les sprites...). Tout le reste n'a pas sa place dans le VBL, sous peine d'extermination.
Et je pense que pour une fois nes sera d'accord avec moi (sauf qu'il dira de pas utiliser Hamlib du tout, mais c'est un autre débat)

njo80
21/02/2006, 17h05
Voila ou le cite ou j'ai eu les sources

http://gbadev.org/sources_cd.html

Ya plein de sources et dedans ya des tetris
Et sur chaqu'un de ces sources j'ai la même erreurs comme
je l'ai dis précédemment :
"No rules to make target '../projet' , needed by 'tetris.elf'. stop"

Donc si ya le même problème sur chaque sa doit venir de ham
J'espère que tu vas trouver la solution a se problème Rystan

Arcadia
21/02/2006, 17h06
Je tiens à signaler que meme si j'ai appris sur le tutos de Aaron, et meme s'il a fait des bons tutos pour PAlib aussi (trop vieux maintenant, certes), il faut faire très attention : le VBL n'est pas l'endroit où placer tout son code... Le VBL ne doit contenir que peu de code, et les choses à mettre à jour tout le temps (le pad, les sprites...). Tout le reste n'a pas sa place dans le VBL, sous peine d'extermination.
Et je pense que pour une fois nes sera d'accord avec moi (sauf qu'il dira de pas utiliser Hamlib du tout, mais c'est un autre débat)

Vi c'est vrai, j'avais pris aussi a cause de ces tutos un mauvaise habitude. Par contre quand on commence un projet neuf avec HAM, il y a la possibilité de demander un projet avec vbl et dans ce cas la, HAM crée automatiquement la bonne programmation du VBL.

Les tutos de Rogers sont bien, mais l vaut mieux pas démarrer un projet en dérivant un des tutos sinon le projet est bancla des le départ. non il fautprendre les tutos de Rogers parce qu'ils fonctionnent, permettent de se familiariser avec l'environnement et puis voila quoi...

Arcadia
21/02/2006, 17h10
Voila ou le cite ou j'ai eu les sources

http://gbadev.org/sources_cd.html

Ya plein de sources et dedans ya des tetris
Et sur chaqu'un de ces sources j'ai la même erreurs comme
je l'ai dis précédemment :
"No rules to make target '../projet' , needed by 'tetris.elf'. stop"

Donc si ya le même problème sur chaque sa doit venir de ham
J'espère que tu vas trouver la solution a se problème Rystan

Ben si personne n'a trouvé avant moi, je te promet de jeter un oeil mais bon, je ne suis sur de rien, je suis pas un pro non plus. Mais en tout cas ça m'interesse de chercher à faire fonctionner ces sources :) ! Par contre je ne sus pas chez moi avant 20h30 :| ...

Merci pour le lien. Bien que je connaisse GBADEV, je n'y vais jamais et ignorais l'existence de ces projets :-' ...

[EDIT] Ah ben si je me souviens de cette page de projets sur GBADEV ! Ca fait une paye que je n'y étais pas retourné :blink: . Merci de me raffraichir la mémoire ;)

njo80
21/02/2006, 17h20
Je suis connecté jusqu'a très tard dans la nuit donc pas de prob :D .

Si ta msn je peux te filer mon adresse ca ira un peu plus vite comme ça.

C'est newjojo@hotmail.fr

A tout à l'heure Rystan

Yodajr
21/02/2006, 17h56
Je ne suis pas un pro non plus ;) mais quand je regarde ces fameuses sources, je ne vois pas de makefile, c'est normal que tu ne puisse pas compiler ce projet avec VHAM... enfin je crois... à la place il y a un make.bat qui semble etre dédié à cette tache. Si tu ne veux pas l'utiliser :

Si d'une facon ou d'une autre tu as un makefile, il faut ajouter à la ligne OFILES chaque fichier .c que tu veux ajouter à ton projet de cette facon :
OFILES += tetris.o \
logo.o \
util.o \


Si tu n'as pas de makefile, mon avis de débutant : avec VHAM, crée un nouveau projet C vide, puis importe tous les fichiers du tetris dans le dossier de ton nouveau projet.
Ensuite dans VHAM, bouton sur "source files" et ajoute un à un les fichiers .c
Et bouton droit sur "Header files" et ajoute un à un les fichiers .h
Et là, essaye de compiler.

Arcadia
21/02/2006, 18h02
Si tu n'as pas de makefile, mon avis de débutant : avec VHAM, crée un nouveau projet C vide, puis importe tous les fichiers du tetris dans le dossier de ton nouveau projet.
Ensuite dans VHAM, bouton sur "source files" et ajoute un à un les fichiers .c
Et bouton droit sur "Header files" et ajoute un à un les fichiers .h
Et là, essaye de compiler.

C'est une superbe methode a mon avis, en plus le vbl sera à la bonne place ;) ...


@Yodajr : Je veins juste de voir tes mp, j'y reponds de suite, mais je prends mon temps parce que j'ai des trucs a dire ;) ... tu me connais quoi... :whst:

njo80
21/02/2006, 18h18
J'avais déja essayé cette méthode
mais j'avais encore le message d'erreur (je le déteste celui la lol)

tu me dis de faire :

OFILES += tetris.o \
logo.o \
util.o \

je vais tester ca tout de suite merci

njo80
21/02/2006, 18h51
J'ai essayé de faire comme tu ma dis j'ai

j'ai réésayé d'ajouter dans un nouveau projet
les .c dans le sources files et les .h dans le header files

et dans le makefile :

OFILES += main.o logo.o util.o tetris_tiles.o

comme j'ai un main.c logo.c util.c tetris_tiles.c
et dans l'erreur j'ai :
make: *** No rule to make target `logo.o', needed by `tetris3.elf'. Stop.
le main.o à l'air de passer mais le logo.o ne veux pas et si
je change et que je mets util.o après main.o c'est le util.o qui ne veux pas
donc c'est directement après le main.o que ça bug!!!!

Yodajr
21/02/2006, 20h03
tetris3.elf ? pourquoi y'a un 3 ?
Vire le(s) .elf, fait F10 puis F7, ca doit passer, ca passe chez moi.

Ha oui, vire le main.c dans VHAM (bouton droit, remove selected) et dans le makefile, met tetris.o en 1er

njo80
21/02/2006, 20h24
Je me suis trompé en écrivant c'est juste tetris lol

Ca y ai j'ai réussis à compiler mes après "c'est tout noir"
Dans le makefile j'ai mis
OFILES += main.o car ya qu'avec sa que j'ai réussis à compiler quand je mets
tetris.o (tetris c'st le nom que j'ai mis quand j'ai démarrer le projet mais quand je fais add files le dossier principal est le main) ca ne marche pas, j'ai ajouter après tout les autres .o et ca se compile plus.

ya qu'avec main.o tu n'avais rien fait d'autre ??

Yodajr
21/02/2006, 21h10
Vire le main.c j'te dis, y'a pas de main.c dans la source du tetris ;)

njo80
21/02/2006, 21h24
Je te remercie ca y ai ca marche :w00t:

Je vais pouvoir commencer à comprendre comment sa marche

Merci

Arcadia
21/02/2006, 21h37
Je te remercie ca y ai ca marche :w00t:

Je vais pouvoir commencer à comprendre comment sa marche

Merci

C'est un moment formidable ça au début, de bidouiller des sources pour voir comment fonctionne le programme. N'hésites pas à te lancer dans un projet, même simple, et de poster tes premiers programmes :) !!!

njo80
21/02/2006, 21h54
Au départ je voulais faire un mario mais c'était un peu trop compliqué
mais je desepére pas j'y arriverai un jour :S

Des que j'ai fini le tetris je m'y mettrais sérieusement

Yodajr
21/02/2006, 22h13
De rien, bon courage pour la suite ;)

Dr.Vince
27/02/2006, 21h40
celui là aussi faudrait le virer

[edit Yodajr] Exact.