Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 10 sur 10
  1. #1
    Invité de passage
    Inscrit en
    juin 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 7
    Points : 1
    Points
    1

    Par défaut [C/SDL]probleme: undefined reference to `dessinerMap(SDL_Surface*)'

    bonjour ,
    voulant pogrammer un sokoban, j'ai crer un nouveau projet sur c::b; et j'ai commencer a coder. mais quand je veux compiler, le debugger me dit:
    Code : Autre
    undefined reference to `dessinerMap(SDL_Surface*)'

    j ai essayer de compiler en console(sous ubunty) avec gcc, mais j'ai la meme erreur(et meme plus):
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    bachir@bachir-desktop:~/Desktop/PG_sokoban$ gcc `sdl-config --libs` -o App_sdl main.o jeu.o fichier.o 
    main.o: In function `main':
    main.cpp:(.text+0x80): undefined reference to `IMG_Load'
    main.cpp:(.text+0xf5): undefined reference to `dessinerMap(SDL_Surface*)'
    main.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
    jeu.o: In function `dessinerMap':
    jeu.c:(.text+0x7d): undefined reference to `IMG_Load'
    jeu.c:(.text+0x8c): undefined reference to `IMG_Load'
    jeu.c:(.text+0x9b): undefined reference to `IMG_Load'
    jeu.c:(.text+0xaa): undefined reference to `IMG_Load'
    jeu.c:(.text+0xb9): undefined reference to `IMG_Load'
    jeu.o:jeu.c:(.text+0xc8): more undefined references to `IMG_Load' follow
    collect2: ld a retourné 1 code d'état d'exécution

  2. #2
    Membre expérimenté

    Inscrit en
    juillet 2006
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : juillet 2006
    Messages : 338
    Points : 507
    Points
    507

    Par défaut

    tu as oublier de linker la lib de SDL_image.

  3. #3
    Membre Expert
    Avatar de coyotte507
    Inscrit en
    octobre 2006
    Messages
    1 325
    Détails du profil
    Informations personnelles :
    Âge : 24

    Informations forums :
    Inscription : octobre 2006
    Messages : 1 325
    Points : 1 384
    Points
    1 384

    Par défaut

    pour dessinerMap, ca veut probablement dire que t'as le prototype mais pas le contenu de la fonction dans les sources.

  4. #4
    Invité de passage
    Inscrit en
    juin 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    comment je dois linker la lib SDL_image(j'ai deja fais la lSDL_image)?
    et si ça peux vous aider je peux poster mon code source

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2003
    Messages : 10 651
    Points : 17 475
    Points
    17 475

    Par défaut

    comment je dois linker la lib SDL_image(j'ai deja fais la lSDL_image)?
    Pas là en tout cas :
    Code X :
    gcc `sdl-config --libs` -o App_sdl main.o jeu.o fichier.o

    Sinon pour ce qui est de dessinerMap(SDL_Surface*), c'est visiblement une fonction à toi, donc soit tu as oublié de l'implémenter, soit tu n'as pas spécifié le fichier qui la contient lors de l'édition de liens.
    Mieux que SDL : découvrez SFML

  6. #6
    Invité de passage
    Inscrit en
    juin 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    non attendez, je programmme sous c::b. j'ai seulement fais le test avec gcc

  7. #7
    Membre Expert
    Avatar de coyotte507
    Inscrit en
    octobre 2006
    Messages
    1 325
    Détails du profil
    Informations personnelles :
    Âge : 24

    Informations forums :
    Inscription : octobre 2006
    Messages : 1 325
    Points : 1 384
    Points
    1 384

    Par défaut

    sous c::b, voir les posts d'avant pour ton problème avec dessinermap()

  8. #8
    Invité de passage
    Inscrit en
    juin 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    et c'est quoi l'implementation?

  9. #9
    Membre Expert
    Avatar de coyotte507
    Inscrit en
    octobre 2006
    Messages
    1 325
    Détails du profil
    Informations personnelles :
    Âge : 24

    Informations forums :
    Inscription : octobre 2006
    Messages : 1 325
    Points : 1 384
    Points
    1 384

    Par défaut

    T'as un prototype:

    Code :
    void dessinerMap(SDL_Surface *);
    Ca normalement il est dans ton code. Mais l'erreur veut dire que tu as oublié d'écrire la fonction:

    Code :
    1
    2
    3
    4
    5
    6
    void dessinerMap(SDL_Surface *ecran)
    {
      ...
      ...
      ...
    }
    ou que cette partie n'est pas dans ton projet.

  10. #10
    Invité de passage
    Homme Profil pro Cyril
    Collégien
    Inscrit en
    septembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Nom : Homme Cyril
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : septembre 2012
    Messages : 1
    Points : 1
    Points
    1

    Par défaut

    J'avais le même problême que toi :/
    Mais j'ai trouvé la solution !!!

    Si tu programmes en C:
    Vérifis bien que tes fichiers ont bien l'extension '.c' et non '.cpp'.

    J'éspère que cela te sera utile

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •