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

Code::Blocks Discussion :

problème de compilation avec SDL_image


Sujet :

Code::Blocks

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut problème de compilation avec SDL_image
    Bonsoir:
    D'abord pour que vous ayez une idée de quoi je parle, voici un programme que j'essaie de tester sur mon pc :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    #include < stdlib.h> 
    #include < stdio.h> 
    #include < SDL/SDL.h> 
    #include < SDL/SDL_image.h> 
     
    void pause(); 
     
    // ------------------------------------- 
    int main(int argc, char *argv[]) 
    { 
    SDL_Surface *ecran = NULL, *imageDeFond = NULL, *sapin = NULL; 
    SDL_Rect positionFond, positionSapin; 
     
    positionFond.x = 0; 
    positionFond.y = 0; 
    positionSapin.x = 500; 
    positionSapin.y = 260; 
     
    SDL_Init(SDL_INIT_VIDEO); 
     
    SDL_WM_SetIcon(IMG_Load("sdl_icone.bmp"), NULL); 
     
    ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE); 
    SDL_WM_SetCaption("Chargement d'images en SDL", NULL); 
     
    imageDeFond = IMG_Load("lac_en_montagne.bmp"); 
    SDL_BlitSurface(imageDeFond, NULL, ecran, &positionFond); 
     
    /* Chargement d'un PNG avec IMG_Load 
    Celui-ci est automatiquement rendu transparent car les informations de 
    transparence sont codées à l'intérieur du fichier PNG */ 
    sapin = IMG_Load("sapin.png"); 
    SDL_BlitSurface(sapin, NULL, ecran, &positionSapin); 
     
    SDL_Flip(ecran); 
    pause(); 
     
    SDL_FreeSurface(imageDeFond); 
    SDL_FreeSurface(sapin); 
    SDL_Quit(); 
     
    return EXIT_SUCCESS; 
    } 
     
     
    // ------------------------------------- 
    void pause() 
    { 
    int continuer = 1; 
    SDL_Event event; 
     
    while (continuer) 
    { 
    SDL_WaitEvent(&event); 
    switch(event.type) 
    { 
    case SDL_QUIT: 
    continuer = 0; 
    } 
    } 
    } 
    // -------------------------------------
    Alors comme vous le remarquez ci-dessus, il s'agit d'un code source pour affichage d'images, et après compilation, mon executable disparait du dossier de mon projet, et dans l'onglet " Build log ", on affiche ce qui suit :

    Switching to target: default
    Compiling: main.c
    Linking executable: testsdl.exe
    mingw32-g++.exe: D:\Documents and Settings\Romario21\Mes documents\testsdl" -mwindows: Invalid argument
    Process terminated with status 1 (0 minutes, 0 seconds)
    le problème est apparu quant j'ai telechargé la librairie SDL_Image pour gérer plusieurs formats d'images : BMP,JPG,PNG,GIF... etcEst-ce que quelqu'un pourrait m'expliquer comment m'en sortir, je n'ai plus d'exécutable maintenant dans mon projet pour tester mon programme ... !!!
    Et merci de votre aide !!!

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    bien le bonjour,

    quelles sont tes options d'édition de liens ?
    -lSDL, -lSDLmain et ??
    dans options du projet, link libraries, qu'as-tu ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut
    khayam bonsoir :
    indique moi ou trouver "edition de liens", "projet" ,"link libraries" et tous ça pour que je puisse te repondre correctement ... ça fait meme pas 2 semaines que j'ai commencé à l'utiliser ce Code::Blocks .. et merçi d'avance ...!!!

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut
    khayyam :
    Pour etre plus precis, edition de liens = linker n'est ce pas ?? je pointe le curseur sur : "sitting/compiler" , ensuite sur l'onglet : "linker", je fais un petit clic : il y'a deux trucs là bà : "link libraries" ( vide ) et "Other linker options" ( vide ) ... !!!

  5. #5
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    Citation Envoyé par boumbim
    khayyam :
    Pour etre plus precis, edition de liens = linker n'est ce pas ?? je pointe le curseur sur : "sitting/compiler" , ensuite sur l'onglet : "linker", je fais un petit clic : il y'a deux trucs là bà : "link libraries" ( vide ) et "Other linker options" ( vide ) ... !!!
    Bonsoir,

    oui, édition de liens correspond à linker. Tu es dans le bon écran avec "link libraries" et "Other linker options". C'est en effet ici qu'il doit y avoir les bibliothèques à lier au projet.
    Dans la gauche, tu as une liste des targets (avec "default"). Sélectionne la target default et remplis le link library avec toutes ls bibliothèques concernées : mingw32, SDL, SDLmain, SDL_image

    Puis compile en default. Ca devrait avancer le schmilblick.

  6. #6
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut
    Khayyam:
    Bref, je clique sur: project/properties/Targets/default ensuite,
    j'active "default" à gauche et je clique sur :Target's Build Options/Linker/Link libraries .. ensuite, je clique sur "add" en bas .. à ce moment là, une petite fenêtre apparait sur l'ecran ; titré "add library".. je tape d'affilée :"mingw3" , "SDL", "SDLmain" et "SDL_image.. les 4 mots apparaissent sur la liste vide de "link libraries" .. ensuite je clique sur "ok"... et là tu me demandes de compiler "en default".. c'est à dire ??? ..

  7. #7
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut
    khayyam :
    Le seul moyen pour compiler que j'utilise d'habitude et le seul que je connais d'ailleurs, ce sont les 4 boutons de gauche sur la barre d'outils du programme... s'il y'a d'autres façon de compiler, pour l'instant, je les connais pas... dis moi comment faire ... merçi en tous cas ... !!!
    Dailleurs, quand je compile de la façon ordinaire, le resultat que j'obtiens sur l'onglet "Build log" est:

    Project : SDL Application
    Compiler : GNU GCC Compiler (called directly)
    Directory : D:\Documents and Settings\Romario21\Mes documents\testsdl\
    --------------------------------------------------------------------------------
    Switching to target: default
    Linking console executable: testsdl.exe
    mingw32-g++.exe: D:\Documents and Settings\Romario21\Mes documents\testsdl" -lmingw32 -lSDL -lSDLmain -lSDL_image -lmingw32 -lSDL -lSDLmain -lSDL_image: Invalid argument
    Process terminated with status 1 (0 minutes, 0 seconds)

  8. #8
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Salut,

    le problème est apparu quant j'ai telechargé la librairie SDL_Image pour gérer plusieurs formats d'images
    L'as tu installée ?


    -lmingw32 -lSDL -lSDLmain -lSDL_image -lmingw32 -lSDL -lSDLmain -lSDL_image
    C'est à cause du retour à la ligne ou tu as deux fois les arguments ?

    Je sais que dans devCpp (donc peut être aussi sur d'autres choses), l'ordre des arguments est important, il faut en effet SDLmain avant SDL.

Discussions similaires

  1. Problème de compilation avec Borland : Direct Draw
    Par Burckel dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 26/09/2005, 18h17
  2. Problème de compilation avec Direct Input
    Par di-giac dans le forum DirectX
    Réponses: 6
    Dernier message: 06/05/2005, 18h19
  3. [MFC] Problème de compilation avec afxctl.h
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 15/06/2004, 13h51
  4. Problème de compilation avec Dev-C++
    Par Rouliann dans le forum Dev-C++
    Réponses: 14
    Dernier message: 14/06/2004, 18h44
  5. Réponses: 1
    Dernier message: 29/10/2003, 12h16

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