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 to"


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Par défaut Problème "undefined reference to"
    Bonjour à tous, j'ai un problème avec mon programme dont je ne comprend pas l'origine.
    J'ai créé une petite librairie statique grâce à la SDL (qui compile sans problème), et j'ai voulu la tester pour vérifier qu'elle fonctionne correctement. J'ai donc copié le fichier .lib et les headers dans les dossiers correspondant de mon IDE (Code::Blocks) sans oublier ensuite de linker le .lib. Malheureusement, j'obtiens trois erreurs similaires, en voici une :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    In function 'Window' :
    l.8  undefined reference to 'SDL_SetVideoMode'
    l.10 undefined reference to 'SDL_SetVideoMode'
    l.8  undefined reference to 'SDL_SetVideoMode'
    l.10 undefined reference to 'SDL_SetVideoMode'
    Mon main de test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include "Engine.h"
    #include "Window.h"
     
    int main (int argc, char* argv[])
    {
        Engine engine;
        Window mainWindow(200, 200);
        return 0;
    }
    Et le code qui merde ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Window::Window(int width, int height, bool fullscreen)
    {
        if(fullscreen)
            m_screen = SDL_SetVideoMode(width, height, 32, SDL_HWSURFACE | SDL_DOUBLEBUF); // Ca bloque
        else
            m_screen = SDL_SetVideoMode(width, height, 32, SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_FULLSCREEN); // Et ça aussi
     
        // Suite du code
    }
    Tous les headers nécessaires sont inclus (notamment <SDL.h>).

    J'attends vos réponses. Merci d'avance et bonne fêtes !

  2. #2
    Membre éprouvé Avatar de zhouyu
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Par défaut
    Salut.
    Dans ton code je ne vois pas de :

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Bonsoir,

    En plus de lier ton .lib tu dois lier les .lib de SDL.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Par défaut
    Je n'ai pas réecrit les include, mais ils sont tous bien bien présents. Ce qui m'embête, c'est que la biblio compile parfaitement, mais pas le main.
    Sinon, toutes les .lib sont liées...

  5. #5
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    undefined reference to
    c'est une erreur de lien, donc on va dire que les includes sont bons et que ça coince avec les lib.

    As-tu la possibilité de nos montrer la ligne de commande exécutée par C::B lors du link ?

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Par défaut
    Oui, pas de problème, mais ou puis-je le trouver ?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/03/2013, 09h19
  2. problème d'undefined reference avec codeblocks
    Par matstriker dans le forum C
    Réponses: 4
    Dernier message: 20/04/2011, 13h26
  3. 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
  4. Toujours des problème de "undefined reference to"
    Par Verbalinsurection dans le forum C++
    Réponses: 12
    Dernier message: 12/10/2007, 01h38
  5. Problème sur Request.ServerVariables("QUERY_STRING"
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 25/03/2005, 11h47

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