J'ai telechargé la librairie SDL et l'ai installée: le dossier sdlframework s'est bien ajouté dans ma bibliothèque principale comme précisé dans l'instaleur. Là plus d'erreur de compilation au niveau de toutes les commandes (en c et c++) comme avant mais toujours une erreur empêchant la compilation: il ne reconnait pas la le header SDL/SDL.h ni SDL.h (en include). Savez vous comment l'utiliser ?
perso, j'ai installé SDL avec fink, donc tous les headers se trouvent dans /sw/include/SDL
Essaye plutot avec fink, plutot qu'avec un installeur.
Sinon, je ne vois pas
A+
Faut que tu charges le framework dans xCode ... L'as tu fait ?
Je pense l'avoir chargé: j'ai glissé déposé (avec copie) et il apparait dans framworks le fichier SDLmain.nib
Mais même avec des recherches sur mon disque impossible de trouver un fichier sdl.h ou quoi que ce soit. Et je sais aussi que ce fichier sdl.h appelle plein d'autres headers dont je n'ai pas trouvé trace non plus. Je n'ai jamais installé ce genre de chose, j'ai surement du oublier de faire qqchose... Tout ce que j'ai c'est un fichier SDLMain.nib et un plist qui sont dans la bibliothèque/framworks/sdl
Salut,
J'ai fait quelques tests ce week end, et tout d'abord impossible d'installer fink. Je suis sous panther, n'existe-t-il pas une version spéciale ?
Ensuite je voulais savoir pourquoi sous mac os X certains dossiers sont invisibles, notamment le /usr/include dans lequel apparaissent tous les headers (dont le sdl.h ne figure toujours pas...).
D'autre part, j'ai bien vérifié et dans /library/frameworks je n'ai qu'un seul dossier relatant le sdl et il se nomme /SDL.framework .
Dans ce dernier j'ai d'autres dossiers qui ne contiennent rien (des alias...), et 2 seuls fichiers intéressants: un SDLMain.nib et un SDL sans extension, pesant 408 Ko et ne voulant pas s'executer même dans le terminal.
Je me demandais si ce fichier SDL de 408 Ko ne contenait pas les headers qui m'intéressent et qui, c'est certain, ne sont toujours pas installés.
Pouvez vous m'aider sur un de ces points ?
Heu... Juste pour préciser à propos de fink: je viens de voir qu'il existait une 0.7.0 pour X.3.
Bah, elle m'a l'air bizarre ton installation de SDL ...
Le dossier Framework doit contenir au minimum :
- La/les librairie(s)
- Le(s) header(s)
Le tout rangé par versions ...
J'ai trouvé ces informations sur un autre forum:
"
>> I'm having trouble getting the OS X SDL-devel-1.2.7.pkg.tar.gz to
>> install the SDL development files and framework.
>>
>> The installer says that it will install the SDL framework (for Project
>> Builder/Xcode) into ~/Library/Frameworks. It correctly creates the
>> directory SDL.framework inside, but doesn't appear to copy anything
>> into it.
>
> I'm having that problem too. I didn't have time yet to find out the
> reason
> and how to fix it,
Same here, what i have done, is I installed the pkg, then installed
SDL from source. That way the includes are at least on the system even
though they are not put into the framework. Still a hassle and a
problem though.
"
et la réponse
"OK, I have found the fix:
In SDL-devel.post_install and .post_upgrade, on line 16 and 17, change
"exec" to "-exec". This makes it work for me on 10.3.3.
The permissions on the html docs are still messed up, so you might want to
extend it to the whole installation directory: "find $ROOT ..." instead of
"find $ROOT/SDL.framework ...". I didn't test this however.
Actually, getting the permissions right should be possible without such
post-install hacking by having the right permissions in the archive and/or
BOM - at least according to the documentation about the 10.3 installer,
but I don't know about backwards compatibility.
"
Je n'ai pas essayé, n'étant pas chez moi avant ce soir.
C'est bon, le sdl est finalement installé... J'ai trouvé un autre installeur sur le net. Cette fois ci, les headers étaient bien copiés dans /library/SDL.frameworks/ et reconny par xcode. Par contre il l'a installé dans ma bibliothèque de session et non dans la principale comme avant. Etant admin et avec une session unique sur le disque, je ne pense pas que les autorisations étaient la source du problème (j'avais vérifié).
Je n'utilisais pas fink tout simplement car je ne suis pas connecté chez moi (même si en faisant le transfert de tous les packages...). Je l'ai tout de même installé pour la prochaine fois... .
Désolé de vous avoir dérangé pour si peu, j'étais affolé car le temps me pressait...
Salut,
J'ai une erreur que je n'arrive pas à résoudre sur xcode, toujours en lien avec la librairie sdl (je pense). Après compilation (sans erreur ni warning), dès le lancement du programme on m'affiche en gros: Zerolink: impossible de trouver '_main'... N'ayant rien de ce genre dans mon code je ne comprends pas.
Avez vous connaissance de ce type d'erreur ?
C'est qu'il n'y a aucune fonction "main" dans l'exé linké ... C'est gênant !
Pourtant Il y a en une... Mais elle est dans un main.cpp. Faut-il obligatoirement passer par les templates SDL de xcode ? A savoir comme fichier principal SDLmain.m ou .h, etc... ? Si c'est le cas je suis bien embêté: xcode sous panther ne reconnait pas les nouveaux projets installés avec le SDL: quand je fais file->nouveau projet je suis sensé voir apparaître "SDL application" mais je ne le vois pas. Pourtant tout est bien installé quand je vais dans voir dans le dossier correspondant (library->application support->apple->developper->etc...).
J'en ai ras le bol, chaque problème résolu en amène un autre... Et d'après les informations que j'ai trouvé sur le net anglophone, c'est parce que l'installer SDL était prévu pour Project builder plutôt que pour xcode...
Es-tu allé voir du côté des listes de discussion sur http://www.libsdl.org/pipermail/sdl/2004-February/059587.html ?
Bah, je vois pas l'intérêt d'utiliser xCode pour un projet avec SDL ... xCode c'est bon pour faire du Cocoa, de l'objective-C ... Pour le reste, autant compiler en ligne de commande, on comprend bien mieux ce qui se passe
Oui, c'est ce que je fais maintenant: je compile avec le terminal et en y ajoutant SDLmain.h, SDLmain.c (trouvés qqpart sur le disque...), en fait je me suis rendu compte que lors de la déclaration de la fonction main, il fallait ajouter des arguments. l'erreur zerolink était bien due à la déclaration du main:
int main(){
...
}
qui a du être remplacée par
int main (int argc, char *argv){
...
}
Sous PC où je faisais tourner le programe avant ce n'était pas le cas. Là était la différence d'où sortait l'erreur zerolink.
Voila, je pense que, cette fois, c'est la bonne
Je sais !
Y'a un bug lors de l'install du package SDL : va voir du côté /Library/Application Support/Apple/Developer Tools/Projects Template/Application/
Et alors là, "surprise", il existe 4 dossiers SDL "bridés". Refile leurs les bons droits de lecture, et ensuite sous XCode, lorsque tu créés un nouveau projet, tu peux choisir un projet SDL (Cocoa, OpenGL, "classique").
Ca évite les bidouilles
Oui, j'avais remarqué aussi, mais même en changeant les autorisations rien de plus n'apparaissait dans xcode (même sur session admin)... Bizare, mais peut-importe puisque j'ai remarqué qu'il était inutile de passer par "projet application sdl" du moment qu'on intègre les fichiers sdlmain dans ses sources.
Bon je profite de ce topic pour poser une petite question.
Je voudrai me faire une petit application basé sur la sdl qui soit multi plate forme, donc je decide de la faire en c++.
Mon probleme est que je n arrive pas a utlisé c++ et sdl avec xcode.
Je crée un projet de type c++ Tool donc il me crée mon fichier main.cpp et si dans ce fichier j ajoute
Si ça reste portable, sous linux tu recompileras sans le SDLMain. Sur Mac c'est obligatoire en plus de tes fichiers, de rajouter ce bout de code.
Suffit de faire un makefile avec macosx=true, linux=true, etc...
J'ai moi aussi eu ce problème "zerolink" du main. Pour cela et si je me souviens bien, j'ai du modifier l'appel de la fonction main par:
Je crois que j'ai un peu remonté le topic
Voilà, je dois faire un programme en utilisant la librairie SDL. Je suis donc allé voire du coté de libsdl.org, j'ai chargé un pitit jeu pour voire un peu comment c'était. Pour pouvoir le compiler j'ai chargé les librairies pour macos X. en fait j'en ai trouvé deux: sdl.pkg et sdl-devel.pkg. j'ai mis les deux, comme ça...
Mais quand je compile, il ne trouve pas le fichier 'sdl.h'.
D'après ce topic, j'ai cru comprendre que l'installation est un peu foireuse mais par contre j'ai pas bien saisie comment on corrigeait ça.
Sinon j'ai vu qu'on pouvait directement compiler le code source (./configure; make; make install (héhé je découvre )) mais si ça se trouve ça revient au même, on a pas les headers installés au bon endroit.
Bref quest-ce que je dois faire?
Moi je l'ai installé avec fink --> aucun problème
Bon bah c'est parti alors, je vais me remettre à fink. La dernière fois que j'y avais touché je m'étais embrouillé et j'avais fini par laché le truc.
Mais allez je suis motivé et peut être qu'avec les quelques connaissances glanées par ci par là je vais y arriver.
Ok, alors c'est bon, fink est installé. Avec finkcomander j'ai fais Selfupdate-cvs pour voire les paquets. J'en ai trouvé plusieurs qui m'intérraissait, j'ai pris celui nommé tout simplement SDL. Et enfin j'ai fait 'install package from source". Tout c'est alors enchainé normalement semble-t-il.
Alors est-ce que c'est il installé SDL là? Je vois une floppé de headers sdl dans /sw/include/sdl. Je dl une demo sur sdl.org our voire. Je compile et il ne me dis plus qu'il me manque sdl.h, déjà ça c'est bon . Par contre il a besoin de sdl_mixer. Donc là, présentement j'installe sdl_mixer. [...] Ok c'est bon, j'ai pus compiler la démo. Ca fait vachement plaisir .
Donc fink c'est pas trop compliqué et ça marche bien, même mieux que les .pkg. Mais pour désinstaller, il faut garder les fichiers sources (/sw/src) et utiliser finkcomander?
Les fichiers source n'ont aucune autre utilité que constituer une archive de sources
Pour désinstaller, finkcommander ou directement avec la commande "sudo fink remove xxx"
salut! J'apprend la sdl sur le site du zero et j'ai du telecharger la sdl et les extras pour mac os X et j'ai eu les elements suivants : sdl.framwork, devel lite,Templates for Xcode,SDLmain,documentation
alors que sur le site du zero on ma dit que je devrais avoir
j'ai quand meme continué à prorammer mais au moment d'afficher une image ça ne fait q'une fenetre noire et ce n'est pas mon code qui est faux : je l'ai recopier du site du zero pour etre sur
si vous pouviez m'eclairer...
J'ai un petit problème avec SDL et Xcode moi aussi
Je crée un nouveau projet Xcode (SDL Cocoa application) et puis je mets, dans main.c, ce code :
coucou;
que veux tu quil se passe? ton switch ne prevoit aucun autre cas.; un switch est toujours avec un breaK bon ici ca ne sert a rien mais bon. il es ou ton bouton?? et laction du bouton? et que voudrais tu quil se passât?
Dans le tuto de siteduzero, il est écrit qu'avec ce code, ça affiche une fenêtre noire et quand on appuie sur un touche du clavier, l'application s'arrete...
Non, il est juste interdit de créer des nouveaux sujets
Ca c'est un vieux sujet de 2004 qui n'a pas été déplacé...
bonkour,
j'ai le même problème au niveau de l'affichage d'une image, j'ai le framework "SDL_image.framework" j'ai fait exactement ceux qui est dit dans le site du zero. J'ai remarqué que les variables images son vide, voici ce que fait :imageDeFond = IMG_Load("lf_air.app/Contents/Resources/fond.bmp");
Cette variable ne pointe vers rien même après avoir passé cette ligne de code.
Perso je n'y comprend plus rien.
SVP si vous avez une solution, je suis sur leopard 10.5.4
Je pense que ton lien vers l'image est mauvais :
J'ai déjà eu le même problème des images avec la SDL : ton image doit se trouver à coté de l'exécutable qui doit être exactement dans NomDeTonDossierProjet/build/Debug/
C'est l'endroit de point de départ lorsque tu souhaite accéder à des ressources.
N'oubliez pas non plus que si vous mettez un titre à votre fenêtre, ENLEVEZ LES ACCENTS. Par exemple la ligne de code :
Il est quand même bien vieux ce sujet
Si on veut placer les ressources de son jeu directement dans le .app, c'est assez simple :
- Ouvrez SDLMain.m.
- Cherchez les lignes :
Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)