Le Makefile Qui Rend Fou


mcdiko
 Share

Messages recommandés

Bonjour tout le monde,

voila mon petit soucis j'essaie désespérément de compiler un programme pour ma psp ( un basique hello world grace a un tutoriel de ce site :P )

mais lorsque je lance >make, j'obtiens cette erreur :

 psp-gcc -I. -I/usr/local/pspdev/psp/sdk/include -O2 -G0 -Wall -D_PSP_FW_VERSION=150   -c -o main.o main.cmake: psp-gcc : commande introuvablemake: *** [main.o] Erreur 127.

je suis ous linux ou j'ai installé le toolchain et voici mon programme et mon makefile :

PSPSDK = /usr/local/pspdev/psp/sdkTARGET = templateOBJS = main.oCFLAGS = -O2 -G0 -WallEXTRA_TARGETS = EBOOT.PBPPSP_EBOOT_TITLE = Templateinclude $(PSPSDK)/lib/build.mak

#include <pspkernel.h>#include <pspdebug.h>PSP_MODULE_INFO("helloworld",0,1,1);#define printf pspDebugScreenPrintf/*Rappel de service de sortie????*/int exit_callback(int arg1,int arg2,void *common){	sceKernelExitGame();	return 0;}/*Rappel de service????*/int CallbacksThreads(SceSize args,void *argp){	int cbid;	cbid=sceKernelCreateCallback("Exit Callback",exit_callback,NULL);	sceKernelRegisterExitCallback(cbid);	sceKernelSleepThreadCB();	return 0;}/*Monte le rappel de service et envoie son ID????*/int SetupCallbacks(void){	int thid=0;	thid=sceKernelCreateThread("update_thread",CallbackThread,0x11,0xFA0,0,0);	if(thid>=0){		sceKernelStartThread(thid,0,0);		}	return thid;	}/*Programme Principal*/int main(){	pspDebugScreenInit();	SetupCallbacks();	printf("Youhou si tu lis ca bien joue Hello WOOOOrld!!!");	sceKernelSleepThread();	return 0;}

merci beaucoup a tout ceux qui auront l a patience de me repondre

Bon il est 6h00 du mat et j'ai trouvé mon problme, oublié de configurer le PATH!!! :P je vais me coucher moi....

Modifié par mcdiko
Lien vers le commentaire
Partager sur d'autres sites

salut, essais un peu avec ce makefile

TARGET = hello

OBJS = main.o

CFLAGS = -O2 -G0 -Wall

CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti

ASFLAGS = $(CFLAGS)

EXTRA_TARGETS = EBOOT.PBP

PSP_EBOOT_TITLE = Hello World

PSPSDK=$(shell psp-config --pspsdk-path)

include $(PSPSDK)/lib/build.mak

a++

edit: après avoir testé et avoir un message d'erreur, j'ai cherché après l'erreur et je les trouvé :P

int CallbacksThreads(SceSize args,void *argp){

int cbid;

cbid=sceKernelCreateCallback("Exit Callback",exit_callback,NULL);

sceKernelRegisterExitCallback(cbid);

sceKernelSleepThreadCB();

return 0;

}

il y avait 2 s en trop ce qui pausais problème lors de la compilation puisque dans la fonction

int SetupCallbacks(void)

ont argumentait sceKernelCreateThread avec CallbackThread mais sans les 2 s ^^

je te remet le code complet:

#include <pspkernel.h>

#include <pspdebug.h>

PSP_MODULE_INFO("helloworld",0,1,1);

#define printf pspDebugScreenPrintf

/*Rappel de service de sortie????*/

int exit_callback(int arg1,int arg2,void *common){

sceKernelExitGame();

return 0;

}

/*Rappel de service????*/

int CallbackThread(SceSize args,void *argp){

int cbid;

cbid=sceKernelCreateCallback("Exit Callback",exit_callback,NULL);

sceKernelRegisterExitCallback(cbid);

sceKernelSleepThreadCB();

return 0;

}

/*Monte le rappel de service et envoie son ID????*/

int SetupCallbacks(void){

int thid=0;

thid=sceKernelCreateThread("update_thread",CallbackThread,0x11,0xFA0,0,0);

if(thid>=0){

sceKernelStartThread(thid,0,0);

}

return thid;

}

/*Programme Principal*/

int main(){

pspDebugScreenInit();

SetupCallbacks();

printf("Youhou si tu lis ca bien joue Hello WOOOOrld!!!");

sceKernelSleepThread();

return 0;

}

je l'ai compilé et j'ai un belle eboot, je ne l'ai pas testé mais il devrait allé.

a++

Modifié par benja32
Lien vers le commentaire
Partager sur d'autres sites

Merci beaucoup, effectivement les deux S posaient probleme et après reconfiguration du PATH d'environnement et utilisation de ton makefile J'AI REUSSI

snif j'ai une petite larme a l'oeil,mon premier eboot....

Lien vers le commentaire
Partager sur d'autres sites

Un conseil, n'utilise pas OSlib.

C'est en quelque sorte un genre de LUA et les performances sont moindres.

Le mieux est de métriser zlib est la libpng pour faire des trucs biens plutôt que de se retrouver avec OSlib (avis perso)

Lien vers le commentaire
Partager sur d'autres sites

Un conseil, n'utilise pas OSlib.

C'est en quelque sorte un genre de LUA et les performances sont moindres.

Le mieux est de métriser zlib est la libpng pour faire des trucs biens plutôt que de se retrouver avec OSlib (avis perso)

l'oslib ne sert pas qu'a afficher des images... elle permet beaucoup de chose :)

Lien vers le commentaire
Partager sur d'autres sites

Un conseil, n'utilise pas OSlib.

C'est en quelque sorte un genre de LUA et les performances sont moindres.

Le mieux est de métriser zlib est la libpng pour faire des trucs biens plutôt que de se retrouver avec OSlib (avis perso)

Ce qu'il ne faut pas entendre... OSLib c'est du C déjà, donc rien à voir avec le LUA. Ensuite c'est si tu ne sais pas bien t'en servir qu'elle est lente, sinon elle est à peu près autant rapide qu'un prog écrit en natif (il y a très très peu d'overhead et la plupart des fonctions ont un équivalent direct en hardware). Et si tu es débutant, il y'a aussi des chances que tu n'arrives pas à maîtriser facilement toutes les subtilités du PSPSDK et du hard de la PSP, donc ton programme sera lent et en plus buggué. C'est pas mieux :P

A mon avis OSLib est un bon moyen pour débuter dans la prog PSP et apprendre un peu, tu te familiariseras avec le fonctionnement du hard, certains concepts (swizzling, stripping, etc.) que tu retrouveras pas la suite, en plus si jamais tu bloques tu pourras toujours regarder sur la source :)

Modifié par Brunni
Lien vers le commentaire
Partager sur d'autres sites

Je suis d'accord que OSlib c'est performant. Mais ça ne permet pas autant de choses que le pspsdk.

Voici un exemple typique d'un programmeur DEBUTANT PSP:

Il commence par le LUA: c'est très simple, pas besoin de compil.

Il continue avec OSlib: simple (quoique), nécessite une compil. (théoriquement aussi rapide qu'en C)

Il finit avec le C: relativement simple, nécessite une compil et est rapide.

Autant comment en C, non ?

Lien vers le commentaire
Partager sur d'autres sites

Je suis d'accord que OSlib c'est performant. Mais ça ne permet pas autant de choses que le pspsdk.

OSLib est basée sur le PSPSDK, elle ne fait que t'aider pour un certain nombre de choses, mais elle ne t'empêche pas de faire le reste ;) Le seul souci, et là je suis d'accord avec toi, c'est que si tu ne t'y connais pas du tout en hard tu vas avoir de la peine à faire ces choses en partant de rien :)

Voici un exemple typique d'un programmeur DEBUTANT PSP:

Il commence par le LUA: c'est très simple, pas besoin de compil.

Il continue avec OSlib: simple (quoique), nécessite une compil. (théoriquement aussi rapide qu'en C)

Il finit avec le C: relativement simple, nécessite une compil et est rapide.

Autant comment en C, non ?

Ben quand tu es en C pur (PSPSDK) c'est super complexe, et ton code est pas vraiment clair, donc il te faudra automatiquement te faire une sorte de lib pour pouvoir construire ton jeu par dessus. En tous cas moi je me vois pas écrire les 10-15 lignes nécessaires à chaque fois pour dessiner un sprite, tu feras appel à une de tes routines qui le fera. Si t'as le courage tu t'y mets, c'est une bonne chose si tu veux maîtriser la console à fond. Mais il se peut que tu n'en voies pas l'intérêt, ou que tu n'aies pas le courage de passer un temps supplémentaire pour le faire (et je parle même pas de l'optimisation et des tests qui viennent après). Par exemple demande à un débutant de faire un driver audio qui ne "clicke" pas, qui soit stable, supporte le streaming sur MS, la mise en veille, qui soit rapide, supporte des formats compressés, etc. ou plus simple: va déjà passer 2 jours pour trouver comment afficher une image avec la libpng, + encore quelques jours pour optimiser la libpng en taille, + encore quelques autres jours pour gérer l'alpha, la génération d'images palettées depuis des true color ou l'inverse. Amuse-toi aussi pour faire du stripping avec un sprite rotaté. Ou alors apprendre et maîtriser l'ASM de la VFPU? Gérer le frameskipping / framerate variable? Ecrire un gestionnaire dynamique de mémoire pour la VRAM? Enfin bref la liste est longue. Certes c'est passionnant et j'encourage vivement les gens qui le sentent de s'y mettre, mais il faut savoir que c'est loin d'être simple, et que ça demande un boulot énorme, donc avant de se lancer, il faut quand même sûr qu'on en a vraiment envie :) Si tout ce que tu veux est réaliser un jeu, il y a bien plus simple ;)

Modifié par Brunni
Lien vers le commentaire
Partager sur d'autres sites

  • 2 weeks later...

Hello again, je voudrais savoir si il est possible de faire de l'objet en c++ sur psp utilisant l' oslib et ce grace a quel makefile (car j'ai essayé mais a la compilation, il me renvoie

"Référence indéfinie vers operateur new(int)

Référence indéfinie vers operateur delete(void*)

oui car j'utlise ces deux fonctions pour creer mes instances de mes classes :) )

Lien vers le commentaire
Partager sur d'autres sites

  • 3 weeks later...

Bin tout dépend du programme...si vous souhaitez faire de la simple 2D, Oslib et pspSDK suffise largement... A noter qu'il ne faut pas sous éstimer Oslib, qui est assez puissant et très simple ! je suis tout a fait d'accord avec ce que dit Brunni ! pspSDK demande d'avoir plus de connaissance en C et il ne s'apprivoise pas en 1 soirée...

Sinon SDL pour la 3D...pour le reste je vois pas son interret?!

Lien vers le commentaire
Partager sur d'autres sites

Bin tout dépend du programme...si vous souhaitez faire de la simple 2D, Oslib et pspSDK suffise largement... A noter qu'il ne faut pas sous éstimer Oslib, qui est assez puissant et très simple ! je suis tout a fait d'accord avec ce que dit Brunni ! pspSDK demande d'avoir plus de connaissance en C et il ne s'apprivoise pas en 1 soirée...

Sinon SDL pour la 3D...pour le reste je vois pas son interret?!

Puis en plus, brunni sais de quoi il parle puisque c'est lui le créateur de l'oslib :)

Lien vers le commentaire
Partager sur d'autres sites

Bin tout dépend du programme...si vous souhaitez faire de la simple 2D, Oslib et pspSDK suffise largement... A noter qu'il ne faut pas sous éstimer Oslib, qui est assez puissant et très simple ! je suis tout a fait d'accord avec ce que dit Brunni ! pspSDK demande d'avoir plus de connaissance en C et il ne s'apprivoise pas en 1 soirée...

Sinon SDL pour la 3D...pour le reste je vois pas son interret?!

j'ai jamais dit que j'utilisait la SDL pour la 3D XD

Lien vers le commentaire
Partager sur d'autres sites

Sérieux? tu déconnes? je veux une preuve! lol

Ben heu c'est Brunni il est connu pour sont oslib, je parlais avec lui sur msn et jlui est montrer le topic c'est pour ca qu'il est venu discuter ;)

WWWOUUUAAAAAAAA Bin il faut qu'il sache qu'il a un grand fan^^

Bin tout dépend du programme...si vous souhaitez faire de la simple 2D, Oslib et pspSDK suffise largement... A noter qu'il ne faut pas sous éstimer Oslib, qui est assez puissant et très simple ! je suis tout a fait d'accord avec ce que dit Brunni ! pspSDK demande d'avoir plus de connaissance en C et il ne s'apprivoise pas en 1 soirée...

Sinon SDL pour la 3D...pour le reste je vois pas son interret?!

j'ai jamais dit que j'utilisait la SDL pour la 3D XD

Tu ne l'utilises pas pour la 3D? tu l'utilises pour faire quoi par exemple? parce que omi je ne la connaissai que pour la 2D/3D limite audio me semble...

Lien vers le commentaire
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share