IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

undefined reference to `SDL_Init' projet C avec SDL


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Points : 57
    Points
    57
    Par défaut undefined reference to `SDL_Init' projet C avec SDL
    C'est encore moi !!
    Cette fois je m'attaque à sdl ou c'est plutôt lui qui m'attaque parce que là je sature. J'ai essayé le tuto proposé par developpez.net pour faire une simple fenêtre sdl. J'ai d'abord fait un fichier simple avec un l'intérieur un main exactement comme indiqué dans le tuto. Aucun problème ! Mais lorsque j'ai voulu intégrer cela à mon projet, ce fut le drame. Et pourtant je n'ai rien de particulier ! J'ai un fichier animal.h qui défini un animal avec une méthode afficherIdentite qui contient en fait le code de la fonction main du tuto pour afficher une simple fenêtre. J'ai toujours les 2 autres fonctions apply_surface et load_image comme dans le tuto. Et donc dans animal.c je définis le corps de ces méthodes. Dans le .h j'ai inclus les fichiers sdl nécessaires <SDL/SDL.h> et <SDL/SDL_image.h>. Je ne crois pas avoir fait d'erreurs dans tout ça et pourtant j'ai droit à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     gcc -Wall -g `sdl-config --libs --cflags` -lSDL -c animal.c -o Animal.o
    gcc Espece.o ListeEspece.o Animal.o ListeAnimal.o Main.o -o exe
    Animal.o: In function `apply_surface':
    animal.c:107: undefined reference to `SDL_UpperBlit'
    Animal.o: In function `load_image':
    animal.c:118: undefined reference to `SDL_RWFromFile'
    animal.c:118: undefined reference to `SDL_LoadBMP_RW'
    animal.c:123: undefined reference to `SDL_DisplayFormat'
    animal.c:126: undefined reference to `SDL_FreeSurface'
    Animal.o: In function `animal_afficher_identite':
    animal.c:174: undefined reference to `SDL_Init'
    animal.c:179: undefined reference to `SDL_SetVideoMode'
    animal.c:187: undefined reference to `SDL_WM_SetCaption'
    animal.c:198: undefined reference to `SDL_Flip'
    animal.c:205: undefined reference to `SDL_PollEvent'
    animal.c:215: undefined reference to `SDL_FreeSurface'
    animal.c:216: undefined reference to `SDL_FreeSurface'
    animal.c:217: undefined reference to `SDL_FreeSurface'
    animal.c:220: undefined reference to `SDL_Quit'
    collect2: ld a retourné 1 code d'état d'exécution
    make: *** [all] Erreur 1
    j'attends vos lumières avec impatience !

  2. #2
    Membre éprouvé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Points : 1 054
    Points
    1 054
    Par défaut
    Bonjour,

    Les options -L et -l<libname> ne sont interpréter par GCC que durant la phase de linkage(.o -> .exe), pas durant la phase de compilation (.c -> .o).

    Essaye avec quelque chose dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    gcc -Wall -g -c animal.c -o Animal.o
    gcc Espece.o ListeEspece.o Animal.o ListeAnimal.o Main.o `sdl-config --libs --cflags` -lSDL -o exe
    (sdl-config exécute avec ces options ajoute déjà -lSDL)
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Points : 57
    Points
    57
    Par défaut
    Effectivemen dans mon makefile je n'avais pas mis au bon endroit les link !
    ça marche nikel ! merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème "undefined reference" avec SDL
    Par NastyFlavour dans le forum C
    Réponses: 1
    Dernier message: 22/05/2014, 04h52
  2. Fonction undefined reference avec SDL 2 et Code::Blocks
    Par therev123 dans le forum OpenGL
    Réponses: 7
    Dernier message: 07/08/2013, 18h54
  3. compiler un projet SDL : undefined reference
    Par momeftah dans le forum Dev-C++
    Réponses: 3
    Dernier message: 19/03/2009, 13h18
  4. [undefined reference]SDL + OpenGL + Dev-Cpp
    Par shenron666 dans le forum OpenGL
    Réponses: 3
    Dernier message: 25/04/2006, 13h56
  5. Projet jeu RPG/moteur 3D isométrique avec SDL
    Par Milan111 dans le forum Projets
    Réponses: 4
    Dernier message: 13/04/2006, 22h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo