Framework ? C'est pas grave

Beroth

Membre actif
22 Août 2005
118
67
36
Asnières-sur-Seine
Bonjour à tous,

Voilà, je viens de me mettre activement au C (j'avais déjà essayé le bouquin "pour les nuls" mais j'étais assez démotivé) grâce au site du zero (je ne sais pas si vous connaissez).

Je sais que certains me conseilleront plutôt de m'orienter vers l'objective-C, mais je veux absolument rester axé sur ce bon vieux C, pour pouvoir découler vers ses "variantes" plus tard.

Donc, pour ceux qui connaissent, je suis le "cours" sur le langage C, et j'en suis à la partie sur les librairires, avec, donc, l'étude de la célèbre SDL.

J'ai cherché plusieurs tutoriels sur la toile, j'ai regardé les divers readme inclus dans les dmg, et j'ai donc installé la librairie comme indiqué (Pour vérifier, j'ai mis le SDL.Framework dans le dossier /library/Frameworks).

Une fois sous Xcode je charge le framework (j'obtiens donc la petite malette jaune) après avoir créé un projet "standart tool", et je lance un petit "Hello World" histoire de voir que tout fonctionne bien, en ayant bien pris le soin de faire un include sur SDL/SDL.h.

Et là, manque de bol, la compilation se passe à merveille, mais le bougre d'xcode, lors du lancement de l'executable après compilation, me sort un joli

[Session started at 2006-08-08 23:03:30 +0200.]

Test-SDL has exited due to signal 10 (SIGBUS).

Pas con, moi, je vais chercher un peu sur la toile, et je m'aperçois que c'est lorsqu'un objet n'a pas été chargé. Ça m'avance grandement, j'y ai pas touché à la librairire, promis Mr Xcode, tu veux bien fonctionner maintenant ?

Bref, tête de bois que je suis, je fais un petit test pour m'amuser, et je dégage la librairie SDL du dossier Framework => même résultat.

Ce qui voudrait dire que, selon Xcode, SDL est bien pris en compte mais pas trop en fait ?


Donc je coince ici, je demande allègrement de l'aide à quelque âme charitablement salvatrice qui saura trouver réponse à me requête: Que dois-je faire pour que ce grumble de SDL puisse au moins marcher pour le test ?


Je vous remercie avec moults distinctions de bon aloi :)
 
Sauf qu'il faut lire la doc :D
Déjà en plus du framework, installe les templates pour XCode. Là tu crées une application SDL qui en plus du main.c possédera un SDLMain.m et un SDLMain.h qui feront que ton "Hello world" marchera sur Mac OSX. :zen:

PS: une recherche sur le forum t'aurais guidé ;)
 
Bah j'avais recherché, mais à priori j'ai dû mal trouver (j'entends par là que j'ai dû lire un peu trop vite).

Je vais essayer les templates, merci.

Editahe: comment puis-je procéder à l'installation des templates ? Ou bien alors, puis-je demander quelque liens pouvant m'aider ?

Merci :)
 
Ah d'accord, merci.

Je viens de m'apercevoir que je n'ai que xcode 2.0, donc forcément, je galère avec les templates.

Merci encore :)
 
tu ne dois pas faire seulement

/* sdl_link.c */
Bloc de code:
#include <stdio.h>
#include <unistd.h>
#include <string.h>

int main(int argc, const char * argv[])
{
   printf("\nhello world\n");
}
mkdir -p sdl_test/Exec
mkdir sdl_test/Frameworks
cp -R SDL.framework sdl_test/Frameworks
mv sdl_link.c sdl_test/Exec

oTool -L sdl_test/Frameworks/SDL.framework/SDL
@executable_path/../Frameworks/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)

.....

//then relative path

cd sdl_test/Exec

gcc sdl_link.c -o sdl_link -F$HOME/sdl_test/Frameworks -framework SDL

./sdl_link

hello world

oTool -L sdl_link
sdl_link:
@executable_path/../Frameworks/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.6)

regarde le Trace/BPT trap &#224; mon avis c'est un

Reason: image not found

:zen: (ca vous fera 80 Euros ) :D
tient j'ai soif va donc au puit
 
Merci beaucoup de vos réponses, en fait j'ai upgradé vers xcode 2.2.1 et les templates marchent à la perfection.

J'ai lancé un template, la fenêtre video s'affiche seulement j'ai une dernière question: lors de la compilation, j'ai un warning comme quoi le dossier "/Users/mon-nom/Library/Frameworks" n'existe pas; et pourtant il existe bel et bien, et y'a SDL dedans ^^

Que dois-je faire ?
 
V&#233;rifie les autorisations du dossier et de ceux qui sont au-dessus. Ainsi que le chemin cherch&#233; : fais un "ls" dans un terminal avec une copie du message pour &#234;tre sur du nom.
 
Beroth a dit:
Merci beaucoup de vos réponses, en fait j'ai upgradé vers xcode 2.2.1 et les templates marchent à la perfection.

J'ai lancé un template, la fenêtre video s'affiche seulement j'ai une dernière question: lors de la compilation, j'ai un warning comme quoi le dossier "/Users/mon-nom/Library/Frameworks" n'existe pas; et pourtant il existe bel et bien, et y'a SDL dedans ^^

Que dois-je faire ?
on en est &#224; la 2.4 pour XCode :)

Sinon moi le framwork SDL est install&#233; dans /Library/Framworks/
 
ntx a dit:
Vérifie les autorisations du dossier et de ceux qui sont au-dessus. Ainsi que le chemin cherché : fais un "ls" dans un terminal avec une copie du message pour être sur du nom.


Ouais, je viens d'en faire un, à priori c'est bon.

C'est à n'y rien piper.

M'enfin, bon, le tout fut-ce que ça fonctionne, et c'est le cas.

Je commence à bien m'éclater avec SDL, même si, en tant que surcouche, elle a la réputation d'être une librairie limitée, mon imagination, elle, ne l'est pas.

Et je me mets déjà à rêver de créer un jeu complet ^^


Néanmoins, l'ambition n'est jamais vraiment négative, en tout cas merci de vos aides.