[C] Problème de compilation OpenGL
Résolu
vlmath
Messages postés
833
Statut
Contributeur
-
vlmath Messages postés 833 Statut Contributeur -
vlmath Messages postés 833 Statut Contributeur -
Bonjour,
J'ai un petit problème de compilation d'une code en C avec OpenGL. Voici le code que j'ai trouvé tel quel sur le web :
Je le compile avec ce Makefile (ce fichier est le fichier test2.c) :
Lors de l'exécution du make, voici le résultat :
Je sais que c'est un problème de linkage, mais je n'arrive pas à trouver le problème .... je pense que je n'ai pas mis la bonne bibliothèque avec, mais tous les codes que je trouve sur le web ne sont pas compilables sur mon PC ...
Je précise que j'utilise seulement les bin de Dev-Cpp, et pas l'API en lui-même (je préfère le bloc note ... :D)
Le pire, c'est qu'un programme utilisant OpenGL que j'ai fais moi-même (sur la base d'un code de Dev-Cpp) compile et fonctionne parfaitement .....
Le but de tout ça serait d'intégrer un joystick dans mon programme.
En esspérant que quelqu'un à la réponse ....
merci et @Bientôt
J'ai un petit problème de compilation d'une code en C avec OpenGL. Voici le code que j'ai trouvé tel quel sur le web :
#include <stdio.h>
#include <stdlib.h>
#include <GL/glut.h>
void joystick(unsigned int buttonMask, int x, int y, int z)
{
printf("joy 0x%x, x=%d y=%d z=%d\n" , buttonMask, x, y, z);
}
void joyPoll(void)
{
printf(" force\n" );
glutForceJoystickFunc(); //Oblige GLUT à sonder le joystick en permanence
}
void menu(int value)
{
switch(value)
{
case 1: // Premier cas on se sert du joystick de maniere normale
glutJoystickFunc(joystick, 100);
glutIdleFunc(NULL);
break;
case 2: // Second cas on désactive le joystick.
glutJoystickFunc(NULL, 0);
glutIdleFunc(NULL);
break;
case 3: // Oblige GLUT a sonder le joystick en permanence
glutJoystickFunc(joystick, 0);
glutIdleFunc(joyPoll);
break;
}
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
void keyboard(unsigned char c, int x, int y)
{
if (c == 27) exit(0);
}
int main(int argc, char **argv)
{
glutInit(& argc, argv);
glutCreateWindow(" joystick test" );
glClearColor(0.29, 0.62, 1.0, 0.0);
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
glutCreateMenu(menu);
glutAddMenuEntry(" Active le joystick callback" , 1);
glutAddMenuEntry(" Desactive le joystick callback" , 2);
glutAddMenuEntry(" Force le sondage du joystick" , 3);
glutAttachMenu(GLUT_RIGHT_BUTTON);
glutMainLoop();
return 0; /* ANSI C a besoin du retour d'un entier */
}
Je le compile avec ce Makefile (ce fichier est le fichier test2.c) :
CC=gcc CFLAGS= LDFLAGS=-mwindows -lopengl32 -lglu32 -g3 -lglut -lglut32 -gul -gl -glfw -lSDL -lmingw32 -lSDLmain all: test test2 test: test.o $(CMP) test2: test2.o $(CMP) CMP=$(CC) -o $@ $^ $(LDFLAGS) %.o: %.c $(CC) -o $@ -c $< $(CFLAGS)
Lors de l'exécution du make, voici le résultat :
gcc -o test2.o -c test2.c gcc -o test2 test2.o -mwindows -lopengl32 -lglu32 -g3 -lglut -lglut32 -gul -gl -glfw -lSDL -lmingw32 -lSDLmain C:/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../../libglut32.a(glut_event.o)(.text+0x319):glut_event.c: undefined reference to `glFinish@0' C:/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../../libglut32.a(glut_event.o)(.text+0x374):glut_event.c: undefined reference to `wglSwapBuffers@4' ................................................................. (et j'en passe ....) collect2: ld returned 1 exit status C:\Dev-Cpp\bin\make.exe: *** [test2] Error 1 Build failed. Exit value 2.
Je sais que c'est un problème de linkage, mais je n'arrive pas à trouver le problème .... je pense que je n'ai pas mis la bonne bibliothèque avec, mais tous les codes que je trouve sur le web ne sont pas compilables sur mon PC ...
Je précise que j'utilise seulement les bin de Dev-Cpp, et pas l'API en lui-même (je préfère le bloc note ... :D)
Le pire, c'est qu'un programme utilisant OpenGL que j'ai fais moi-même (sur la base d'un code de Dev-Cpp) compile et fonctionne parfaitement .....
Le but de tout ça serait d'intégrer un joystick dans mon programme.
En esspérant que quelqu'un à la réponse ....
merci et @Bientôt
A voir également:
- [C] Problème de compilation OpenGL
- Breach compilation c'est quoi - Guide
- Opengl minecraft ✓ - Forum Minecraft
- Opengl 3.3 download - Forum Graphisme
- Opengl 2.1 ✓ - Forum Carte graphique
- Opengl 2.1 - Forum Logiciels