Problème xcode sdl

benj54

Membre confirmé
9 Juin 2011
24
0
Bonsoir à tous,
Alors voilà j'ai un projet en C où je dois utiliser la librairie SDL.
Je dois utiliser plusieurs modules, utiliser l'outil make.
Je voudrais pouvoir compiler depuis le terminal. Jusqu'à présent j'utilise l'interface de Xcode et je n'ai qu'à importer à mon projet le framework SDL et appuyer sur le bouton "Build".

Le problème c'est qu'il faudrait que je puisse compiler par le terminal, que j'utilise gcc, que j'utilise la commande make. Hors quand je compile il ne trouve pas mon fichier SDL.h, il m'indique des tas d'erreur en rapport avec la SDL.
Savez vous comment faire pour pouvoir compiler correctement depuis le terminal ?

Merci d'avance.
 

ntx

Membre vénérable
Club MacG
15 Octobre 2004
12 130
377
92
Tu espères quoi comme réponse :rateau: On ne sait rien de tes manipulations, ni de ton environnement. Tu veux qu'on devine avec nos boules de cristal. :D
 

benj54

Membre confirmé
9 Juin 2011
24
0
Non mais maintenant au moins je sais qu'il faut que j'explique plus en détail.

Je travaille sous Snow Leopard avec Xcode pour compiler mes programmes en C.
De simple programme n'utilisant pas la librairie SDL je les compile avec gcc via le terminal.

J'ai suivi le tutoriel sur le site du zéro pour installer correctement la librairie SDL sous Mac et pour l'utiliser sous Xcode.

Sous l'interface Xcode, en ayant ajouté à mon projet utilisant la librairie SDL les différents framework que j'ai besoin (SDL, SDL_ttf) tout fonctionne correctement.

Mais j'aurai voulu pouvoir compiler mon projet depuis le terminal (car il faut que j'utilise la commande make par exemple), hors quand je me place dans mon dossier du projet où se trouve mon fichier makefile et que je tape : make -f makefile, il m'affiche des erreurs dans l'un de mes modules (fichier.c) qui utilise la librairie SDL.

Voici mes erreurs :



Je me doute qu'il ne trouve pas mes librairies mais je ne sais pas du tout quel chemin indiquer pour trouver la librairie SDL, surtout que ça fonctionne correctement sous l'interface Xcode.

Voilà, j'espère avoir était assez clair et précis.
 

Larme

Membre expert
Club MacG
11 Décembre 2007
6 507
399
Paris
Bah c'est normal alors...
Soit tu la hostes sur le web (ImageShack etc.) et tu mets le lien ici, soit tu utilises la fonction pièce jointe de MacGé...
 

ntx

Membre vénérable
Club MacG
15 Octobre 2004
12 130
377
92
Le framework "SDL_ttf" va chercher des includes dans le framework "SDL". Il faut donc ajouter des directives '-I' dans ce sens.

A savoir que pour gérer les frameworks, qui sont une spécificité Mac OSX, Apple a ajouté une directive '-F' dans les options de gcc. Il faudrait modifier ton makefile pour utiliser cette directive en remplacement des directives '-I', '-l' et '-L' qui gèrent les includes et les librairies. Tu peux accéder à la commande de compilation utilsée par Xcode dans le fenêtre de "Build" ou "Build Results" (petite icône à droite quand tu sélectionnes une ligne dans les étapes de compilation). Inspires-en toi :zen:
 

benj54

Membre confirmé
9 Juin 2011
24
0
J'ai bien peur qu'il me faut un peu plus d'aide parce que j'ai beau avoir modifié 2-3 choses par rapports à tes indications, j'en suis toujours au même point. J'ai joint mon fichier makefile.
 

ntx

Membre vénérable
Club MacG
15 Octobre 2004
12 130
377
92
Pas bien épais ton makefile :D Avant de vouloir aller plus loin, je te conseillerais de te trouver un bon tutoriel sur le sujet, voire même déjà commencer par un tutoriel sur gcc :zen:
 

benj54

Membre confirmé
9 Juin 2011
24
0
C'est le minimum nécessaire pour ce que je voudrai faire, puis vu que c'est un problème de chemin de fichier je ne pense pas que c'est le makefile qui pose problème mais bon je vais me débrouiller.
 

ntx

Membre vénérable
Club MacG
15 Octobre 2004
12 130
377
92
Ton makefile est syntaxiquement correct en l'état mais très incomplet pour prendre en compte des includes, des librairies ou frameworks externes. Il faut que tu apprennes à utiliser les options de gcc pour compléter ton makefile : -I, -l, -L, -F ... Donc trouve toi un tutoriel sur gcc ou prend le temps de lire la page man. :zen: