begin process at 2012 02 13 07:02:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

SDL et GLUT


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

SDL et GLUT

mardi 11 mars 2008 à 19:53:17 | SDL et GLUT

Samaths

Bonjour à tous!

J'ai un petit problème: Je voudrais utiliser OpenGL et la SDL en même temps. Je sais que c'est possible, j'ai trouvé plein de tutoriaux, pas de soucis pour ca.

Par contre, je n'arrive pas à construire mon application, le linker me crie dessus à chaque fois. Voici ce qu'il me dit:

Linking console executable: SDLapp.exe

.objs\main.o:main.cpp:(.text+0x1c): undefined reference to `__glutInitWithExit@12'

.objs\main.o:main.cpp:(.text+0x3d): undefined reference to `__glutCreateWindowWithExit@8'

.objs\main.o:main.cpp:(.text+0x5d): undefined reference to `__glutCreateMenuWithExit@8'

Je travaille avec Code::Blocks, et dans les options du projet, j'ai:

mingw32
SDLmain
SDL
opengl32
glu32
le lien vers libglut32.a

J'ai essayé de linker d'autres fichiers, mais rien n'y fait. J'ai fouillé tout ce que je pouvais sur le net, et je n'ai rien trouvé non plus...

HELP !

mardi 11 mars 2008 à 21:37:21 | Re : SDL et GLUT

SAKingdom

Membre Club
Réponse acceptée !
C'est un problème, visiblement, très courant. Peut-être que ceci t'aidera:
http://www.gamedev.net/community/forums/topic.asp?topic_id=64724

C++ (@++)

mercredi 12 mars 2008 à 18:10:32 | Re : SDL et GLUT

Samaths

Merci pour ta réponse rapide, j'ai vu qu'elle y était déjà hier soir!

Effectivement, en remplacant le header par un plus vieux, ca ne met plus ces messages d'erreurs... mais d'autres arrivent

Je vais y aller moins directement, plus pas à pas... et je repasserai si je n'arrive vraiment à rien! (c'est en se dépatouillant qu'on apprend non? )

Encore merci en tout cas!
mercredi 12 mars 2008 à 19:27:37 | Re : SDL et GLUT

Samaths

 Encore un problème! Mais cette fois, ce n'est pas des librairies (j'ai abandonné GLUT pour un petit moment). Pour l'instant, je veux juste faire une fenêtre SDL avec du OpenGL dedans, puis en prendre une capture d'écran (c'est pour ca que je suis venu sur la SDL). Et ca ne marche pas.

- Au départ, j'ai testé le programme SDL donné par Code::Blocks comme exemple, il marche bien
- Ensuite j'ai fait une capture d'écran. Ca marche
- Puis j'ai rajouté les librairies OpenGL et GLU, et les ai linkées. Ca marche encore
- J'ai fait un rendu OpenGL dans la fenêtre... et là ...

Quand je lance l'exécution, tout ce passe bien, pas de signaux d'erreurs, je vois meme le rendu dans la fenêtre (un morceau de triangle rouge).
Par contre, à la fermeture de la fenêtre, pas question d'enregistrer! J'ai meme mis une récupération d'erreur, et je n'obtiens rien. Un fichier bitmap est bien créé, mais il ne contient rien (0 octets).

Voici mon code:

#include <GL/gl.h>
#include <GL/glu.h>
#include <SDL/SDL.h>
#include <cstdlib>
#include <iostream>

using namespace std;

int main ( int argc, char** argv )
{
     if ( SDL_Init( SDL_INIT_VIDEO ) < 0 )
    {
        printf( "Unable to init SDL: %s\n", SDL_GetError() );
        return 1;
    }
    atexit(SDL_Quit);

     SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,1);

    SDL_Surface* screen = SDL_SetVideoMode(640, 480, 16, SDL_OPENGL);
    if ( !screen )
    {
        printf("Unable to set 640x480 video: %s\n", SDL_GetError());
        return 1;
    }

    glClearColor(1.0,1.0,1.0,1.0);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glViewport(0, 0, 640, 480);
    gluPerspective(45,(1.0*640)/(480),0,1000);
    glMatrixMode(GL_MODELVIEW);

    bool done = false;
    while (!done)
    {
         SDL_Event event;
        while (SDL_PollEvent(&event))
        {
            switch (event.type)
            {
            case SDL_QUIT:
                done = true;
                break;

            case SDL_KEYDOWN:
                {
                         if (event.key.keysym.sym == SDLK_ESCAPE)
                        done = true;
                    break;
                }
            } 
        } 

        glClear(GL_COLOR_BUFFER_BIT);

        glLoadIdentity();
        gluLookAt(0.0, 1.0, 0.0,
                    0.0, 0.0, 0.0,
                    0.0, 0.0, 1.0);

        glColor4f(1.0,0,0,1.0);

        glBegin(GL_TRIANGLES);
            glVertex3f(0,0,0);
            glVertex3f(1,0,1);
            glVertex3f(1,0,0);
        glEnd();

        SDL_GL_SwapBuffers();

    }


    if (SDL_SaveBMP(screen,"ecran.bmp") < 0)
        cerr << "Erreur! " << endl;

    printf("Exited cleanly\n");
    return 0;
}


Re Help!

 

mercredi 12 mars 2008 à 19:58:29 | Re : SDL et GLUT

Samaths

Une petite information en plus: lorsque je debug avec C::B, j'obtiens une segmentation fault!

Voici la pile des fonctions:

#0 0x6811f6f8 SDL_SetTimer (??:??)
#1 0x68111034 SDL_SetTimer (??:??)
#2 0x6812842a SDL_LowerBlit (??:??)
#3 0x681247fa SDL_SaveBMP_RW (??:??)
#4 0x00401648 SDL_main (??:??)
#5 0x00401dab console_main (./src/main/win32/SDL_win32_main.c:246)
#6 0x00401f89 WinMain (./src/main/win32/SDL_win32_main.c:382)
#7 0x0040182a main (??:??)



Cette discussion est classée dans : text, cpp, main, sdl, objs


Répondre à ce message

Sujets en rapport avec ce message

Mais comment utiliser wxWidgets avec Code::Blocks et VC++ 7.1 toolkit ??!!! [ par zippro4012 ] Je programme en C++ dans l'éditeur Code::Blocks, et compile avec VC++ 7.1 toolkit.Il est relativement ennuyeux d'utiliser les APIs Windows pour créer c::b et socket [ par sheorogath ] bonjour voulant faire un peu de c++ pour changer je me telecharge un ide : code::blocksvoulant m'initier au socket un peu je reussi a me procurer un c Probleme avec winsock [ par ratala ] Bonjour, J'éssaye de travailler avec les winsocks mais à chaque fois que je compile, j'ai ce message d'erreur :.objs\main.o:main.cpp:(.text+0x649): un Problème avec SDL_ttf... [ par noursmarron ] Je suis désespéré et au bord du suicide lolun peu noob aussi mais bon ;)Donc je viens d'installer SDL qui marche très bien (sur code::blocks, jai essa Pb Dev C++ [ par Laurent0228 ] Salut.Je debute sur Dev C++quand je compile n'importe qu'elle prog voila les messages erreurs.ain.o(.text+0x169):main.cpp: undefined reference to `Cre prob compil devc++ socket [ par stefdem ] Bonjour,Quelqu'un peut-il me dire ce que je dois faire pour compiler un projet sous DevC++ 4.9.8.5 utilisant des sockets ?J'insiste sur le fait que c' Probleme de compilation dev-cpp avec winsock2 [ par Tidam ] Voila ca fait plusieurs sources utilisant winsock2 que j'essaye de compilet et dev-cpp me fait toujours les memes erreurs: g++.exe main.o -o "Projet prob avec SDL [ par kuroro ] alors voila , j'ai mis tous les fichiers .h dans le repertoire include ( de dev-c++ 4 ) et les fichier .a dans le repertoire lib , mais quand je veux C++ VS Mysql [ par ours_aquatique ] Bonjour ,Aprés une semaine de recherche infructueuse , j'ai toujours le probleme suivant:je compile sous devC++ j utilise Mysql (V4.et des poussieres) problème avec les templates [ par vecchio56 ] J'ai un petit problème en voulant compiler ceci (avec visual C++ 6): ////////////////////////////////////// Truc.htemplate class Truc{public: Truc(in


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,619 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales