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

Eclipse C & C++ Discussion :

Installation SDL avec minGW et Eclipse


Sujet :

Eclipse C & C++

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Par d�faut Installation SDL avec minGW et Eclipse
    Bonsoir,

    Il y a peu j'ai d�cid� d'installer la SDL donc j'ai correctement fait mes ajouts au dossier minGW et ajout� les options au linker d'eclipse.

    Cependant j'ai un bien �trange probl�me, en effet lorsque j'appelle la fonction


    tout se passe bien, aucun message d'erreur et la compilation est un succ�s.

    En revanche lorsque je fait appel � la foncion



    eclipse m'indique une mauvaise r�f�rence � cette fonction, et bien s�r le compilateur me renvoie la m�me erreur.

    J'ai v�rifi� la syntaxe plusieurs fois, v�rifi� de quelle librairie d�pendait cette fonction (SDL.h, tout comme SDL_Init() ) alors je ne vois pas d'o� peut provenir le probl�me... Si quelqu'un a une piste j'en serai ravi ^^

    PS: Il se passe la m�me chose avec SDL_WaitEvent()




    Pour plus de pr�cisions voil� les d�tails:


    Code source.

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
     
    void pause();
     
    int main(int argc, char *argv[])
    {
        SDL_Init(SDL_INIT_VIDEO); // Initialisation de la SDL
     
        SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE); // Ouverture de la fenêtre
     
        pause(); // Mise en pause du programme
     
        SDL_Quit(); // Arrêt de la SDL
     
        return EXIT_SUCCESS; // Fermeture du programme
    }
     
    void pause()
    {
        int continuer = 1;
        SDL_Event event;
     
        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
            }
        }
    }
    Erreur obtenue.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    gcc -lmingw32 -lSDLmain -lSDL -opremierSDL.exe src\main.o
    src\main.o: In function `SDL_main':
    D:/eclipse/premierSDL/Debug/../src/main.c:11: undefined reference to `SDL_SetVideoMode'
    src\main.o: In function `pause':
    D:/eclipse/premierSDL/Debug/../src/main.c:27: undefined reference to `SDL_WaitEvent'
    collect2: ld returned 1 exit status
    Build error occurred, build is stopped
    Time consumed: 250  ms.

  2. #2
    Membre �m�rite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par d�faut
    Salut,

    La derni�re fois que j'ai r�pondu � qq'un sur ce genre de question, il n'est plus revenu sur le forum (parce que la question concerne le code ou le compilateur, et qu'on pense qu'eclipse est responsable de tout)

    Alors voil�, en essayant d'etre un peu plus gentil, il faut tout de meme que tu connaisse la diff�rence entre compilation et �dition de lien avant de faire d'utiliser un IDE.

    Ce qui veut dire dans ton cas qu'il faut que tu saches qu'une librairie se compose d'un fichier .h et d'un binaire .so ou .dll dans le cas de lib dynamiques. L'erreur d'eclipse indique /*d'ailleurs eclipse ne fait que r�utiliser les erreurs du compilateur*/, c'est qu'il ne trouve la fonction dans aucun fichier au moment de l'�dition de lien, c'est � dire dans le .so/.dll et non pas dans le .h

    EDIT: j'ai vu que tu avait bien sp�cifi� les libs SDL � ton projet,
    mais apparemment la lib o� est d�finie la fonction que tu appelle n'est pas dans la ligne de commande. (cad il te manque un fichier en fait)

    Voil�, bonne fin de week end.

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Par d�faut
    Merci de ta r�ponse rapide mamelouk,

    J'ai du �tre impr�cis, je connais la diff�rence entre compilateur, �diteur de lien etc (ayant commenc� avec seulement vim, gcc et make justement pour bien comprendre)...

    En r�alit� je post sur le forum concernant eclipse car je n'ai eu ce probl�me qu'avec cet IDE, j'ai test� la m�me chose sous Code::Blocks et n'ai eu aucun probl�me et vu que j'ai install� minGW et ajout� les librairies manuellement je me demandais si il n'y avait pas une subtilit� concernant eclipse...

    Tes explications confortent le fait que j'ai fait une mauvaise manipulation je vais donc recommencer � partir de z�ro.

  4. #4
    Membre averti
    Profil pro
    �tudiant
    Inscrit en
    D�cembre 2006
    Messages
    69
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 69
    Par d�faut
    Bonjour

    Je sais que je fais remonter un vieux sujet, mais j'ai la r�ponse au probl�me et c'est une monstruosit� totale de la part d'Eclipse !

    En effet, si on d�finit dans les FLAGS du linker les options suivantes -lmingw32 -lSDLmain -lSDL, le linkage plante copieusement. Il suffit de regarder la commande qu'Eclipse lance : il place les flags AVANT les fichiers objets � linker, or il faut les placer apr�s...

    Reste juste donc � changer

    ${COMMAND} ${FLAGS}${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}

    en

    ${COMMAND} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} ${FLAGS}

    Mais je n'ai jamais compris pourquoi cela ne marchait pas, meme les pages man de gcc indiquent qu'ils faut les flags avant...

  5. #5
    Membre �m�rite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par d�faut
    toute info est bonne � prendre

    quoiqu'il en soit moi j'utilise cmake pour g�rer mes projets, d�j� c'est plus simple, et puis je suis ind�pendant de l'IDE que j'utilise.

Discussions similaires

  1. installer SDL avec Visual C++ 8
    Par stokastik dans le forum SDL
    R�ponses: 11
    Dernier message: 08/05/2014, 08h11
  2. Installer SDL avec MinGW et la console Windows
    Par doowy38 dans le forum SDL
    R�ponses: 1
    Dernier message: 05/10/2009, 06h29
  3. Installation SDL et SDL_net sous eclipse
    Par gosu14 dans le forum Eclipse C & C++
    R�ponses: 0
    Dernier message: 08/01/2009, 19h35
  4. Installer Boost avec Mingw
    Par Mawine dans le forum Autres �diteurs
    R�ponses: 1
    Dernier message: 10/12/2008, 11h19
  5. Utilisation de Boost avec MinGW sous Eclipse
    Par kimlee dans le forum Eclipse C & C++
    R�ponses: 2
    Dernier message: 21/11/2008, 17h04

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