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

SDL Discussion :

[VC++Express] Problème de compilation du code SDL


Sujet :

SDL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [VC++Express] Problème de compilation du code SDL
    Bonjour,

    j'essaye de compiler le code d'exemple présent dans la FAQ SDL avec Visual C++ Express mais je reçoit ce code d'exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    1>Compiling...
    1>main.cpp
    1>Linking...
    1>main.obj : error LNK2019: unresolved external symbol _atexit referenced in function "int __cdecl mainCRTStartup(int,char * * const)" (?mainCRTStartup@@YAHHQAPAD@Z)
    Voici le code que je compile :
    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.h>
    #include <string>
     
    #pragma comment(lib, "OpenGL32.lib")
    #pragma comment(lib, "SDL.lib")
    #pragma comment(lib, "SDLmain.lib")
    #pragma comment(lib, "libirc.lib")
    #pragma comment( lib, "SDL_image.lib")
    #pragma comment( lib, "glew32.lib")
    #pragma comment( lib, "glut32.lib")
     
    int mainCRTStartup( int argc, char *argv[ ] )
    {
        SDL_Surface *screen;
        if( SDL_Init( SDL_INIT_VIDEO ) == -1 )
        {
            //printf( "Can't init SDL:  %s\n", SDL_GetError( ) );
            return EXIT_FAILURE;
        }
     
        atexit( SDL_Quit ); 
    	//SDL_Quit();
        screen = SDL_SetVideoMode( 640, 480, 16, SDL_HWSURFACE );
     
        if( screen == NULL )
        {
            //printf( "Can't set video mode: %s\n", SDL_GetError( ) );
            return EXIT_FAILURE;
        }   
        SDL_Delay( 3000 );
        return EXIT_SUCCESS;
    }
    J'ai créé un projet vide auquel je rajoute ce source. Ensuite dans les options, du linker, j'ai rajouté "SDL.lib SDLmain.lib user32.lib gdi32.lib advapi32.lib" dans Additional Dependencies, j'ai choisit de mettre "Windows (/SUBSYSTEM:WINDOWS)" dans SubSystem.
    De plus, dans les options C++ du projet, j'ai mis "Multi-threaded DLL (/MD)" dans Runtime Library

    Bien sur, j'ai installé la librairie SDL pour VC++ 6.0 et j'ai rajouté les chemin appropriée dans les options les répertoires pour les .lib et les .h

    Cela fait plusieurs jours que j'essaye de compiler ce code (j'avait beaucoup d'autres erreurs que j'ai finit par résoudre, mais je n'arrive vraiment pas à comprendre celle-là...)

    Merci d'avance pour votre aide.

  2. #2
    Membre à l'essai
    Lycéen
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Points : 18
    Points
    18
    Par défaut
    As-tu installé les SDK qui permettent de faire des projets win32 (avec son API)?
    Si tu ne l'as pas installé visual c++ express ne permet pas de faire des application windows graphique sans SDK.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Points : 1 053
    Points
    1 053
    Par défaut
    Si il le permet, à condition de ne pas utiliser les librairies win32, ce qui n'est pas le cas ici vu qu'il utilise un sdl déja compilé.
    Néanmoins, le atexit pose problème. Il appartient peut-être à ces bibliothèques? En tous cas moi je ne l'utilise jamais, mais je programme en C++. Tu es sur de ne pas pouvoir te débrouiller sans?

  4. #4
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par zais_ethael
    Si il le permet, à condition de ne pas utiliser les librairies win32, ce qui n'est pas le cas ici vu qu'il utilise un sdl déja compilé.
    Néanmoins, le atexit pose problème. Il appartient peut-être à ces bibliothèques? En tous cas moi je ne l'utilise jamais, mais je programme en C++. Tu es sur de ne pas pouvoir te débrouiller sans?
    En effet, enlève le et ajoute le à la fin du code SDL_Quit() (avant le return) pour ne pas avoir ce message.

    Jc

Discussions similaires

  1. compilation de code source
    Par lejum dans le forum Général Java
    Réponses: 11
    Dernier message: 20/03/2006, 20h13
  2. Compiler du code Java via Java
    Par sozie9372 dans le forum Langage
    Réponses: 2
    Dernier message: 12/01/2006, 10h14
  3. Probleme en compilant le code avec C2.EXE ?!?!?
    Par angelevil dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/11/2005, 16h13
  4. [Servlet][Compilation] Erreur de compil dans code servlet
    Par gandalf_le_blanc dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 13/05/2004, 10h17
  5. Compiler un code sous windows
    Par KORTA dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 30/09/2003, 16h53

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