# Problème d'installation de SDL_ttf



## Gandahar (23 Janvier 2011)

Bonsoir, 

J'ai pu réaliser tous les tutoriels du site du Zéro sauf un, celui qui utilise SDL_ttf car je n'ai pas réussit à l'installer (contrairement à toutes les autres librairies). 

Pour résumer, le site du zéro nous dit que sur mac, il faut compiler quelque chose avec FreeType, mais franchement, j'ignore si j'ai téléchargé le bon fichier (freetype-2.4.4.tar) et je comprends encore moins ce que je dois faire avec ça une fois désarchivé.

Pour l'instant, j'ai téléchargé ce que j'ai pu et j'ai systématiquement le message suivant :

```
dyld: [b]Library not loaded: /usr/X11R6/lib/libfreetype.6.dylib[/b]
  Referenced from: /Users/[i]<snip mon nom>[/i]/Library/Frameworks/SDL_ttf.framework/Versions/A/SDL_ttf
  Reason: image not found
```
J'ai essayé de le leurrer en créant cette bibliothèque de toute pièce et en y recopiant un libfreetype.6.3.dylib trouvé sur mon disque et en le renommant libfreetype.6.dylib, mais rien n'y fait.

J'ai aussi fait des recherches sur ce forum : j'ai mis SDL.framework et SDL_ttf.Frameworks dans la liste des Frameworks de mon projet et j'ai aussi ajouté libfreetype.6.dylib pour voir. Ca n'a rien fait de plus.

J'ai lu ici ou là que des personnes avaient pu mettre SDL_ttf en oeuvre sur Mac OS X, pourriez-vous m'indiquer la marche à suivre ? J'ai aussi vu que plusieurs personnes n'avaient pas réussies, je ne suis pas le seul intéressé par la réponse.

_Nb : je programme depuis plus de 25 ans, mais je débute en OS X et avec Xcode._

_________________________

Ou alors, avez-vous une autre astuce pour afficher du texte en modifiant la couleur, la taille et la police de caractères en C sous OS X.4 ?

Sous OS 9, j'utilisais Quickdraw avec les instructions suivantes : 


```
Str63     police = "\pMatura MT Script Capitals";
Str255    texte  = "\pHello World";
short     numPolice;
RGBColor  couleurTexte = {65535, 39321,0};

GetFNum(police, &numPolice);

RGBForeColor(&couleurTexte);
TextSize(22);
TextFont(numPolice);

DrawString(texte);
```

Par quoi doit-on remplacer cela avec OS X  si on ne sais pas utiliser SDL_ttf ?


----------



## Gandahar (26 Janvier 2011)

Bonsoir,

Voici la suite de mes recherches : il s'agit essentiellement d'un problème dû à X11 et certains forums conseillent de le réinstaller à partir du CD. 

Je suis sous Tiger et mon CD me dit qu'il est bien installé et qu'il n'y a rien de plus à faire. Je suis donc toujours coincé avec le message de l'image de libfreetype.6.dylib qu'il ne trouve pas.

Sur mon ordi, X11 est installé dans le répertoire suivant : /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib

Il contient le fichier libfreetype.6.3.dylib et un alias libfreetype.6.dylib qui pointe dessus.
Pour ceux chez qui ça fonctionne, avez-vous ces fichiers dans le même répertoire que moi ? 
Faut-il indiquer quelque chose à Xcode pour qu'il aille chercher ce fichier là-bas ? 

Chose amusante, quand j'essaie de créer un dossier "usr" dans la racine pour y recopier X11R6 et avoir un nom de répertoire exactement comme il me le demande, OSX me répond qu'il existe déjà. Or j'ai pu remarquer que le répertoire "Utilisateurs" se nomme "Users" quand je lis les informations d'un fichier qui s'y trouve. Où se cache donc le répertoire "usr" qu'il me dit déjà exister ? Est-ce le même ?

Mine de rien, ce petit truc m'empêche complètement de porter mon jeu de conquête galactique sur OSX.


----------



## Céroce (26 Janvier 2011)

Gandahar a dit:


> Chose amusante, quand j'essaie de créer un dossier "usr" dans la racine pour y recopier X11R6 et avoir un nom de répertoire exactement comme il me le demande, OSX me répond qu'il existe déjà. Or j'ai pu remarquer que le répertoire "Utilisateurs" se nomme "Users" quand je lis les informations d'un fichier qui s'y trouve. Où se cache donc le répertoire "usr" qu'il me dit déjà exister ? Est-ce le même ?



Non, users et usr n'ont rien à voir.
Le répertoire usr se trouve à la racine du disque dur. Il est caché par le Finder par soucis de simplicité.
Sous Finder:
- ouvre une nouvelle fenêtre
- sélectionne le disque dur
- Menu Aller > Aller au dossier
- Tape usr et valide.

Bien évidemment, il est aussi accessible par le Terminal, où il n'est pas caché.


----------



## Nyx0uf (26 Janvier 2011)

Faut arrêter les délires là...

http://www.libsdl.org/projects/SDL_ttf/

Y a un dmg et ça s'installe comme SDL_image, il est périmé leur tutoriel.


----------



## tatouille (26 Janvier 2011)

et dis moi barbie "_Nb : je programme depuis plus de 25 ans, mais je débute en OS X et avec Xcode."

_tu programmes depuis 25 ans sur texas instrument ou TO7 le monde a changé _ _et pour les autres arreter vos delires si vous ne savez pas ce que le message du linker dynamique dit, le dit packet et "linké" contre une library absente

"/Users" et la traduction complete du "/U" que l'on trouvait deja il a plus de 35 sous sysV ou /home sur d'autres  unices-like.

http://en.wikipedia.org/wiki/Comparison_of_file_systems

pour "la visibilité" voir la case extended file attributes

open terminal

mkdir -p Projects
mkdir -p Projects/Assets
mkdir -p Projects/${PROJECT_NAME}-${START_VERSION} // e.g toto-100
cd Projects/Assets
ln -s /usr
ln -fs /opt
ln -s /private

sudo port install libsdl-framework, c'est si simple


close terminal

http://www.macports.org/


----------



## Gandahar (26 Janvier 2011)

> tu programmes depuis 25 ans sur texas instrument ou TO7 le monde a changé


Non, je suis programmeur professionnel sur les grands systèmes IBM. Je connais une vingtaine de langages sur ces grands systèmes, dont le plus répandu est le COBOL.

Ceci dit, j'ai commencé au début des années 1980 à programmer en hexa sur un micro-processeur 2650 avec 1 Koctet de RAM, puis sur Apple II en basic Applesoft, puis sur ATARI 520 en GFA Basic, puis sur les grands systèmes IBM (mainframes) en COBOL et autres langages, puis sur le MAC 4400 en C, puis le G4 sous OS 8 et 9 et enfin le G5 toujours sous OS9. Je n'ai jamais programmé sur un PC jusqu'à aujourd'hui, ni sur une calculatrice :rateau:

@Céroce : Merci ! j'ai appris une chose de plus.
@Nyx0uf : Merci aussi, c'est bien sur ce site que j'avais téléchargé mes fichiers. Cependant, rien n'y fait, surtout que je ne sais pas quoi faire avec les fichiers du dossier freetype-2.4.4. 
J'ai bien placé le framework SDF_ttf où il fallait, mais le problème est toujours avec la librairie libfreetype.6.dylib. 

J'ai recopié la version installée avec le CD de Tiger dans le répertoire /usr/X11R6/lib à la racine du disque et SDL_ttf le trouve, mais me dit que ce n'est pas celui qu'il attend :

```
dyld: Library not loaded: /usr/X11R6/lib/libfreetype.6.dylib
  Referenced from: /Users/[i]<mon nom>[/i]/Library/Frameworks/SDL_ttf.framework/Versions/A/SDL_ttf
  Reason: no suitable image found.  Did find:
	/usr/X11R6/lib/libfreetype.6.dylib: can't map
```

Quant à ce que j'ai téléchargé avec freetype-2.4.4, je ne sais pas quoi en faire.

[Edit :]
Je vais essayer les commandes que tatouille m'a donné ci-dessus


----------



## tatouille (26 Janvier 2011)

"Ceci dit, j'ai commencé au début des années 1980 à programmer en hexa  sur un micro-processeur 2650 avec 1 Koctet de RAM, puis sur Apple II en  basic Applesoft, puis sur ATARI 520 en GFA Basic, puis sur les grands  systèmes IBM (mainframes) en COBOL et autres langages, puis sur le MAC  4400 en C, puis le G4 sous OS 8 et 9 et enfin le G5 toujours sous OS9.  Je n'ai jamais programmé sur un PC jusqu'à aujourd'hui, ni sur une  calculatrice :rateau:"


 et bah tu devrais serieusement te poser des questions parce que nous avons un petit gas ici qui a 14 ans et qui l'autre jours avait le meme genre de probleme: il a compris et trouvé tout seul.

et je n'etendrais pas m'a bio ici bardie, ce n'etait pas le sens de ma plaisanterie.



ta SDL_ttf.framework que tu essayes d'utiliser n'a pas ete compilé pour ta configuration.


----------



## Gandahar (26 Janvier 2011)

> et bah tu devrais serieusement de poser des questions parce que nous avons un petit gas ici qui a 14 ans et qu'il l'autre jours avant le meme genre de probleme: il a compris et trouvé tout seul.


Même pas mal  Les p'tits jeunes d'aujourd'hui sont plus débrouillards que les anciens et justement, j'essaye de me soigner ! 



> ta SDL_ttf.framework que tu essayes d'utiliser n'a pas ete compilé pour ta configuration.


C'est ce que je commençait à me demander, justement.


----------



## Gandahar (28 Janvier 2011)

Bonjour, 

J'ai fini par comprendre que le problème vient du fait que pour utiliser SDL_ttf, il faut d'abord installer freeType. Pour installer freeType, il faut le compiler. Pour le compiler, il faut installer GNU...

Plutôt que d'abuser de votre patience, j'ai trouvé une solution de contournement qui consiste à fabriquer des fichiers images avec les lettres des polices de caractères dont j'ai besoin et à créer moi-même les surfaces contenant les phrases à afficher. Ce n'est pas très élégant, mais au moins j'arrêterai de me prendre la tête avec un environnement que je ne connais pas (c'est pour ça que je suis allé sur le site du zéro qui explique tout pas à pas, sauf ce qu'il faut faire pour installer et utiliser SDL_ttf sur Mac OSX).


----------



## necob (29 Janvier 2011)

Salut Nyxouf, je viens de lire ton message. Je suis sous snow leopard avec xcode et bien que ma SDL soit parfaitement installée ( j'ouvre un projet SDL sans soucis), lorsque je tente de compiler ce nouveau projet (qui devrait ouvrir une fenêtre), ça me marque "failed". Toi ou d'autres avez réussi je suppose. En toute humilité, je débute, et apprend sur "le site du Zero".
Merci si quelqu'un peut m'éclairer.


----------



## Gandahar (31 Janvier 2011)

Bonsoir,

Tu dois avoir une simple erreur de frappe dans ton programme. 

Je t'invite à créer une nouvelle discussion et à afficher exactement le message du compilateur. Cependant, le compilateur doit aussi te montrer sur quelle ligne tu as une erreur dans ton programme et te donner un message explicatif. 

Les exemples du site du zéro fonctionnent bien, vérifies le code que tu as écrits ou recopié et que le Framework SDL est bien associé à ton projet.


----------

