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 :

Problème "undefined reference" avec SDL


Sujet :

C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Problème "undefined reference" avec SDL
    Bonjour à tous,

    J'ai décidé dernièrement de m'intéresser à la programmation de jeux. J'ai donc installé SDL et Code::Blocks pour le coder en C. J'en arrive au code suivant :
    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
    23
    24
     
    #include <stdlib.h>
    #include <stdio.h>
    #include "SDL.h"
     
    int main(int argc, char *argv[])
    {
      //DEMARRAGE SDL
        // Chargement de la video et de l'audio
    	if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) == -1) //Si erreur :
        {
            fprintf(stderr, "Erreur d'initialisation de la SDL : %s\n", SDL_GetError()); // ecriture de l'erreur
            exit(EXIT_FAILURE); // On quitte le programme. EXIT_FAILURE/SUCCESS : compatibilite avec tous les OS
        }
      //SDL CHARGEE
     
      //PROGRAMME
    	SDL_SetVideoMode(640, 480, 32);
     
      //ARRET SDL (liberation de la memoire).
        SDL_Quit();
     
        return EXIT_SUCCESS;
    }
    Pas grand chose donc.

    Pour information, mon dossier SDL est ici : C:\Users\<monNom>\SDL. Il contient plusieurs sous-dossiers, j'ai choisi le dossier \i686-w64-mingw32 qui contient les bin, include et lib de SDL.

    Dans Code::Blocks, j'ai configuré settings de manière à ce que l'édition des liens et la compilation fonctionne, cad :
    - Settings > Compiler > Linker Settings > Other linker options : -lmingw32
    - Settings > Compiler > Search Directories > Compiler : C:\Users\<monNom>\SDL\i686-w64-mingw32\include\SDL2 (contient les .h)
    - Settings > Compiler > Search Directories > Linker : C:\Users\<monNom>\SDL\i686-w64-mingw32\lib (ici les .a)

    A priori, on a tout, non ? Pourtant, quand je compile, pour les quatre fonctions de SDL que j'utilise, je reçois l'erreur : undefined reference to 'SDL_XXX'

    Je ne comprends pas, auparavant j'avais un problème avec l'include, que j'ai résolu. Maintenant, l'include marche à priori, mais la référence vers les fonctions de la bibliothèque est indéfinie ! Pourtant (par exemple) il y a bien un prototype extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags); dans SDL.h...

    Je suis assez dépassé par le mystère, j'ai l'impression qu'il manque quelque chose de toute simple mais je ne sais pas quoi.

    Des idées ?

    NB : pour info mon dossier SDL vient de SDL2-devel-2.0.3-mingw.tar.gz sur http://www.libsdl.org/download-2.0.php

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 674
    Points : 10 686
    Points
    10 686
    Par défaut
    compiler un projet SDL : undefined reference

    Réponse avec des mots:
    • Il manque au moins une bibliothèque SDL -lxxx
    • Il me semble qu'il y a un grand débat sur "exit VS return"

Discussions similaires

  1. problème d'undefined reference avec codeblocks
    Par matstriker dans le forum C
    Réponses: 4
    Dernier message: 20/04/2011, 13h26
  2. Problème compilation undefined reference to main
    Par Loïc Le Bars dans le forum Fortran
    Réponses: 1
    Dernier message: 30/03/2010, 16h52
  3. " undefined reference to " avec methode template
    Par coldrink dans le forum Langage
    Réponses: 3
    Dernier message: 24/10/2009, 20h05
  4. Toujours des problème de "undefined reference to"
    Par Verbalinsurection dans le forum C++
    Réponses: 12
    Dernier message: 12/10/2007, 01h38

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