Ładny brzuch

Jak zalinkowac biblioteki do opengl w devc++ 4 bo w dev 5 mi nic nie kompiluje tzn. jak skompiluje i daje uruchom to pisze plik nie jest skompilowany.



Spjrz na temat wczeniej http://forum.ks-eksp...showtopic=45196 ;)
Uytkownik Cyrkiel edytowa ten post 21 maj 2005, 20:43
mowie ze do devc++ 4 a nie 5.

Tak samo.



Nie da sie tak samo. Wchodze do project potem project options i znajdz mi tam parameters.

Pomyl troszeczk ;) Project Options -> Further object files or liker options... <- wpisz tam, co masz wpisa (chyba "-lopengl32 -lglu32 -lglut32") ;)

To ma byc po spacji czy obok siebie bo zrobilem taki kod:
#include <windows.h>   #include <gl\gl.h>   #include <gl\glu.h>   #include <gl\glaux.h>   HDC   hDC=NULL;   HGLRC  hRC=NULL;   HWND  hWnd=NULL;   HINSTANCE hInstance;   bool keys[256];   bool active=TRUE;   bool fullscreen=TRUE; LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); GLvoid ReSizeGLScene(GLsizei width, GLsizei height)   { if (height==0)           {  height=1;           } glViewport(0,0,width,height);       glMatrixMode(GL_PROJECTION);       glLoadIdentity();         gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f); glMatrixMode(GL_MODELVIEW);       glLoadIdentity();         } int InitGL(GLvoid)           { glShadeModel(GL_SMOOTH);       glClearColor(0.0f, 0.0f, 0.0f, 0.5f);     glClearDepth(1.0f);         glEnable(GL_DEPTH_TEST);       glDepthFunc(GL_LEQUAL);         glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); return TRUE;           } int DrawGLScene(GLvoid)         { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity();         return TRUE;           } GLvoid KillGLWindow(GLvoid)         { if (fullscreen)           {  ChangeDisplaySettings(NULL,0);      ShowCursor(TRUE);         } if (hRC)           {  if (!wglMakeCurrent(NULL,NULL))      {   MessageBox(NULL,"Release Of DC And RC Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);  }  if (!wglDeleteContext(hRC))        {   MessageBox(NULL,"Release Rendering Context Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);  }  hRC=NULL;           } if (hDC && !ReleaseDC(hWnd,hDC))     {  MessageBox(NULL,"Release Device Context Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);  hDC=NULL;           } if (hWnd && !DestroyWindow(hWnd))     {  MessageBox(NULL,"Could Not Release hWnd.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);  hWnd=NULL;           } if (!UnregisterClass("OpenGL",hInstance))   {  MessageBox(NULL,"Could Not Unregister Class.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);  hInstance=NULL;         } } BOOL CreateGLWindow(char* title, int width, int height, int bits, bool fullscreenflag) { GLuint  PixelFormat;   WNDCLASS wc;       DWORD  dwExStyle;     DWORD  dwStyle;     RECT  WindowRect;     WindowRect.left=(long)0;   WindowRect.right=(long)width;   WindowRect.top=(long)0;     WindowRect.bottom=(long)height;   fullscreen=fullscreenflag;   hInstance   = GetModuleHandle(NULL);     wc.style   = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; wc.lpfnWndProc  = (WNDPROC) WndProc;     wc.cbClsExtra  = 0;         wc.cbWndExtra  = 0;         wc.hInstance  = hInstance;       wc.hIcon   = LoadIcon(NULL, IDI_WINLOGO);   wc.hCursor   = LoadCursor(NULL, IDC_ARROW);   wc.hbrBackground = NULL;         wc.lpszMenuName  = NULL;         wc.lpszClassName = "OpenGL";         if (!RegisterClass(&wc))         {  MessageBox(NULL,"Failed To Register The Window Class.","ERROR",MB_OK|MB_ICONEXCLAMATION);  return FALSE;           } if (fullscreen)             {  DEVMODE dmScreenSettings;          memset(&dmScreenSettings,0,sizeof(dmScreenSettings));  dmScreenSettings.dmSize=sizeof(dmScreenSettings);    dmScreenSettings.dmPelsWidth = width;      dmScreenSettings.dmPelsHeight = height;      dmScreenSettings.dmBitsPerPel = bits;      dmScreenSettings.dmFields=DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT;    if (ChangeDisplaySettings(&dmScreenSettings,CDS_FULLSCREEN)!=DISP_CHANGE_SUCCESSFUL)  {     if (MessageBox(NULL,"The Requested Fullscreen Mode Is Not Supported By\nYour Video Card. Use Windowed Mode Instead?","NeHe GL",MB_YESNO|MB_ICONEXCLAMATION)==IDYES)   {    fullscreen=FALSE;     }   else   {        MessageBox(NULL,"Program Will Now Close.","ERROR",MB_OK|MB_IConstop);    return FALSE;           }  } } if (fullscreen)             {  dwExStyle=WS_EX_APPWINDOW;          dwStyle=WS_POPUP;            ShowCursor(FALSE);           } else {  dwExStyle=WS_EX_APPWINDOW | WS_EX_WINDOWEDGE;    dwStyle=WS_OVERLAPPEDWINDOW;       } AdjustWindowRectEx(&WindowRect, dwStyle, FALSE, dwExStyle);   if (!(hWnd=CreateWindowEx( dwExStyle,              "OpenGL",              title,                dwStyle |              WS_CLIPSIBLINGS |            WS_CLIPCHILDREN,            0, 0,                WindowRect.right-WindowRect.left,        WindowRect.bottom-WindowRect.top,        NULL,                NULL,                hInstance,              NULL)))         {  KillGLWindow();          MessageBox(NULL,"Window Creation Error.","ERROR",MB_OK|MB_ICONEXCLAMATION);  return FALSE;         } static PIXELFORMATDESCRIPTOR pfd=     {  sizeof(PIXELFORMATDESCRIPTOR),      1,            PFD_DRAW_TO_WINDOW |        PFD_SUPPORT_OPENGL |        PFD_DOUBLEBUFFER,        PFD_TYPE_RGBA,          bits,            0, 0, 0, 0, 0, 0,        0,            0,            0,            0, 0, 0, 0,          16,            0,            0,            PFD_MAIN_PLANE,          0,            0, 0, 0           }; if (!(hDC=GetDC(hWnd)))       {  KillGLWindow();          MessageBox(NULL,"Can't Create A GL Device Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);  return FALSE;         } if (!(PixelFormat=ChoosePixelFormat(hDC,&pfd))) {  KillGLWindow();          MessageBox(NULL,"Can't Find A Suitable PixelFormat.","ERROR",MB_OK|MB_ICONEXCLAMATION);  return FALSE;         } if(!SetPixelFormat(hDC,PixelFormat,&pfd))   {  KillGLWindow();          MessageBox(NULL,"Can't Set The PixelFormat.","ERROR",MB_OK|MB_ICONEXCLAMATION);  return FALSE;         } if (!(hRC=wglCreateContext(hDC)))     {  KillGLWindow();          MessageBox(NULL,"Can't Create A GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);  return FALSE;         } if(!wglMakeCurrent(hDC,hRC))     {  KillGLWindow();          MessageBox(NULL,"Can't Activate The GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);  return FALSE;         } ShowWindow(hWnd,SW_SHOW);       SetForegroundWindow(hWnd);       SetFocus(hWnd);         ReSizeGLScene(width, height);     if (!InitGL())         {  KillGLWindow();          MessageBox(NULL,"Initialization Failed.","ERROR",MB_OK|MB_ICONEXCLAMATION);  return FALSE;         } return TRUE;         } LRESULT CALLBACK WndProc( HWND hWnd,         UINT uMsg,         WPARAM wParam,         LPARAM lParam)   { switch (uMsg)         {  case WM_ACTIVATE:        {   if (!HIWORD(wParam))       {    active=TRUE;         }   else   {    active=FALSE;         }   return 0;          }  case WM_SYSCOMMAND:        {   switch (wParam)         {    case SC_SCREENSAVE:        case SC_MONITORPOWER:        return 0;         }   break;          }  case WM_CLOSE:          {   PostQuitMessage(0);         return 0;          }  case WM_KEYDOWN:        {   keys[wParam] = TRUE;       return 0;          }  case WM_KEYUP:          {   keys[wParam] = FALSE;       return 0;          }  case WM_SIZE:          {   ReSizeGLScene(LOWORD(lParam),HIWORD(lParam));     return 0;          } } return DefWindowProc(hWnd,uMsg,wParam,lParam); } int WINAPI WinMain( HINSTANCE hInstance,       HINSTANCE hPrevInstance,       LPSTR  lpCmdLine,       int   nCmdShow)   { MSG  msg;         BOOL done=FALSE;         if (MessageBox(NULL,"Chcesz peny ekran?", "Start FullScreen?",MB_YESNO|MB_ICONQUESTION)==IDNO) {  fullscreen=FALSE;       } if (!CreateGLWindow("Szablon",640,480,16,fullscreen)) {  return 0;         } while(!done)         {  if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))  {   if (msg.message==WM_QUIT)       {    done=TRUE;         }   else           {    TranslateMessage(&msg);        DispatchMessage(&msg);       }  }  else            {     if (active)           {    if (keys[VK_ESCAPE])        {     done=TRUE;          }    else            {     DrawGLScene();         SwapBuffers(hDC);        }   }   if (keys[VK_F1])         {    keys[VK_F1]=FALSE;        KillGLWindow();          fullscreen=!fullscreen;            if (!CreateGLWindow("Szablon",640,480,16,fullscreen))    {     return 0;          }   }  } } KillGLWindow();         return (msg.wParam);       }
I dalem te biblioteki tam po spacji z myslnikami i 3 errorsy wylaza.
Uytkownik Bedzio edytowa ten post 23 maj 2005, 19:23

...


PS: Po co uywasz glut'a kiedy masz glaux'a i tworzysz okno samodzielnie??


Bo tak jest napisane na NeHe  :D  :D


No tak, ale tam nie korzystaj z glut'a :/


jak to nie?

Sciagnalem ten glaux ale powiedzmi jak mam to zainstalowac. Tylko jeszcze raz pisze ze chodzi o dev 4 a nie 5.


Sciagnalem ten glaux ale powiedzmi jak mam to zainstalowac. Tylko jeszcze raz pisze ze chodzi o dev 4 a nie 5.

Tyle ze to jest dev 4 a nie 5 i po dwu kilkach chce zebym wybral program ktory mam uzyc do otworzenia a jak daje dev'a to o wyswietla to jako zwykly plik tekstowy a nie instaluje.
A tak wogole to czy musze uzywac glaux'a do opengl, bo ten kod to ja jako jakis szablon wzialem.


Tyle ze to jest dev 4 a nie 5 i po dwu kilkach chce zebym wybral program ktory mam uzyc do otworzenia a jak daje dev'a to o wyswietla to jako zwykly plik tekstowy a nie instaluje.
A tak wogole to czy musze uzywac glaux'a do opengl, bo ten kod to ja jako jakis szablon wzialem.

Jakos udalo mi sie zadzialac :P dev'a c++ tego nowego i dziala opengl i ten kodzik :) Tylko jest jeden malutki problem to znaczy on mi bardzo nie przeszkadza bo jak skompiluje program i daje uruchom to wyaltuje ze plik nie jest skompilowany, ale na szczescie .exe robi.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •