Profil supprimé | pourtant j'ai bien içnclus gl.h et glu.h, j'ai verifié les fichiers sont bien présents.
j'ai aussi réinstallé glsetup.
pourtant dans visual c++ 6 dès que j'essaie d'utiliser des focn tions opengl c'est unresolved external symbol.
exemple:
Code :
- siource.obj : error LNK2001: unresolved external symbol __imp__wglCreateContext@4
- siource.obj : error LNK2001: unresolved external symbol __imp__wglDeleteContext@4
- siource.obj : error LNK2001: unresolved external symbol __imp__wglMakeCurrent@8
- siource.obj : error LNK2001: unresolved external symbol __imp__glVertex3i@12
- siource.obj : error LNK2001: unresolved external symbol __imp__glEnd@0
- siource.obj : error LNK2001: unresolved external symbol __imp__glVertex2i@8
- siource.obj : error LNK2001: unresolved external symbol __imp__glBegin@4
- siource.obj : error LNK2001: unresolved external symbol __imp__glScaled@24
- siource.obj : error LNK2001: unresolved external symbol __imp__glRotated@32
- siource.obj : error LNK2001: unresolved external symbol _gluLookAt@72
- siource.obj : error LNK2001: unresolved external symbol __imp__glLoadIdentity@0
- siource.obj : error LNK2001: unresolved external symbol __imp__glMatrixMode@4
- siource.obj : error LNK2001: unresolved external symbol __imp__glClear@4
- siource.obj : error LNK2001: unresolved external symbol _gluPerspective@32
- siource.obj : error LNK2001: unresolved external symbol __imp__glViewport@16
|
le source est hors de cause car il vient d'un didactitiel, et il amrche chez un pote.
je vous le met au cas où ...
Code :
- #include <windows.h>
- #include <gl/gl.h>
- #include <gl/glu.h>
- #include <math.h>
- void Draw();
- void Reshape(int width,int height);
- void InitGL();
- void SetupPixelFormat(HDC hDC);
- LRESULT CALLBACK WinProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
- HINSTANCE HInst;
- HDC DC;
- HGLRC RC;
- double a=0,b=0; //Angles
- double d=10; //Distance
- double f=1; //Facteur d'agrandissement
- //////////////////////////////////////////////////
- //////////////////////////
- int WINAPI WinMain( HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpCmdLine,
- int nCmdShow)
- {
- HInst = hInstance;
- WNDCLASS WindowClass =
- {
- 0,
- WinProc,
- 0,
- 0,
- HInst,
- 0,
- 0,
- 0,
- NULL,
- "La classe !",
- };
- if (!RegisterClass( &WindowClass)) exit(1);
- HWND OpenGLWindow = CreateWindow( "La classe !", //Classe de la fenêtre
- "Fenêtre OpenGL", //Nom de la fenêtre
- WS_VISIBLE | WS_SYSMENU, //Caractéristiques
- 0, //Position x
- 0, //Position y
- 320, //Largeur
- 200, //Hauteur
- 0, //Handle de la fenêtre mère
- 0, //Identifiant de la fenêtre fille
- HInst, //HINSTANCE du programme
- NULL); /*Chaine de caractère envoyée
- en paramètre lors de la création
- de la fenêtre*/
- if (!OpenGLWindow) exit(1);
- MSG msg;
- do
- {
- while (PeekMessage(&msg,OpenGLWindow,0,0,PM_NOREMOVE))
- {
- if(GetMessage(&msg,OpenGLWindow,0,0))
- {
- DispatchMessage(&msg);
- }
- else return 0;
- }
- }
- while(1);
- return 0;//Pour la forme
- }
- /////////////////////////////////////////////////////////////////////////////
- void SetupPixelFormat(HDC hDC)
- {
- PIXELFORMATDESCRIPTOR pfd = {
- sizeof(PIXELFORMATDESCRIPTOR), //taille du descripteur de format
- 1, //version
- PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW | PFD_DOUBLEBUFFER, //Propriétés
- PFD_TYPE_RGBA, //Mode de couleurs
- 16, //Bits de couleur
- 0, 0, 0, 0, 0, 0, //Paramètres des couleurs
- 0, 0, //Paramètres alpha
- 0, 0, 0, 0, 0, //Paramètres du buffer d'accumulation
- 32, //Bits de profondeur
- 0, //Bits du buffer stencil
- 0, //Nombre de buffers auxiliaires
- 0, //ignoré (obsolète)
- 0, //réservé
- 0, //ignoré (obsolète)
- 0, //Couleur de transparence
- 0 //Ignoré (obsolète)
- };
- int pixelFormat;
- pixelFormat = ChoosePixelFormat(hDC, &pfd);
- if (pixelFormat == 0) {
- MessageBox(WindowFromDC(hDC), "Mode graphique non supporté par le driver.", "Problème",
- MB_ICONERROR | MB_OK);
- exit(1);
- }
- if (SetPixelFormat(hDC, pixelFormat, &pfd) != TRUE) {
- MessageBox(WindowFromDC(hDC), "Mode graphique non supporté par le driver.", "Problème",
- MB_ICONERROR | MB_OK);
- exit(1);
- }
- }
- /////////////////////////////////////////////////////////////////////////////
- LRESULT CALLBACK WinProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
- {
- switch(uMsg)
- {
- case WM_CLOSE:
- wglMakeCurrent(NULL, NULL);
- if (RC) wglDeleteContext(RC);
- ReleaseDC(hwnd,DC);
- PostQuitMessage(0);
- break;
- case WM_CREATE:
- DC=GetDC(hwnd);
- SetupPixelFormat(DC);
- RC = wglCreateContext(DC);
- if (!RC) SendMessage(hwnd,WM_CLOSE,0,0);
- wglMakeCurrent(DC, RC);
- InitGL();
- break;
- case WM_SIZE:
- Reshape(LOWORD(lParam),HIWORD(lParam));
- break;
- case WM_PAINT:
- Draw();
- break;
- default:
- return DefWindowProc(hwnd,uMsg,wParam,lParam);
- break;
- }
- return 0;
- }
- /////////////////////////////////////////////////////////////////////////////
- void InitGL()
- {
- }
- //////////////////////////////////////////////////
- ///////////////////////////
- void Draw()
- {
- a+=0.5;
- b+=.4;
- d=10.+cos(a/30.)*2.;
- f=1.+cos(a/5.)/5.;
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- gluLookAt(0,0,d,0,0,0,0,1,0);
- glRotated(a,0,1,0);
- glRotated(b,1,0,0);
- glScaled(f,f,2-f);
- glBegin(GL_LINE_LOOP);
- glVertex2i(-1,-1);
- glVertex2i(1,-1);
- glVertex2i(1,1);
- glVertex2i(-1,1);
- glEnd();
- glBegin(GL_LINES);
- glVertex2i(-1,-1);glVertex3i(0,0,2);
- glVertex2i(1,-1);glVertex3i(0,0,2);
- glVertex2i(1,1);glVertex3i(0,0,2);
- glVertex2i(-1,1);glVertex3i(0,0,2);
- glEnd();
- SwapBuffers(DC);
- }
- //////////////////////////////////////////////////////////////////////////
- ///
- void Reshape(int width,int height)
- {
- glViewport(0,0,width,height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(45.,float(width)/float(height),0,100);
- }
- //Fin////////////////////////////////////////////////////////////////////////
|
des idées ? ca vous est deja arrivé ? |