SDL/OpenGL Fehler

Tomsen1410

Mitglied
Hey,
hätte ein Problem mit VS2010 und SDL/OpenGL:

Nämlich wollte ich in mein Projekt, wie oben schon erwähnt, SDL und OpenGL einfügen.
Also habe ich folgendes gemacht:
1. Ich habe von dieser Seite ( KLICK ) die Datei "SDL-devel-1.2.15-VC.zip" runtergeladen und entpackt.

2. Als nächstes erstellte ich ein neues leeres Projekt in VS2010.

3. Dann habe ich bei Projekt --> <Projektname> Eigenschaften --> Konfigurationseigenscahften
-->bei Includeverzeichnisse den Include Ordner der heruntergeladenen Datei ausgewählt.
-->bei Verweisverzeichnisse den Include Ordner der heruntergeladenen Datei ausgewählt.
-->bei Bibliotheksverzeichnisse den lib\ (x86) Ordner der heruntergeladenen Datei ausgewählt.

4. Danach bei Linker-->Eingabe-->Zusätzliche Abhängigkeiten hinzugeschrieben : "SDL.lib;SDLmain.lib"

5. Bei Linker--> System-->SubSystem noch WINDOWS ausgewählt.

So... habe dann zum Test das hier geschrieben:

Code:
#include "SDL.h"

int main( int argc, char* args[] )
{
    SDL_Init( SDL_INIT_EVERYTHING );
    
    SDL_Quit();
    
    return 0;    
}

Das hat er auch kompiliert ohne Fehler.

Doch dann wollte ich etwas mit OpenGL üben und hab einige Befehle von einem Tutorial hinzugefügt:
Code:
#include "SDL.h"
#include "SDL_opengl.h"
#include <iostream>
#include <string>
 
int main( int agrc, char* args[] )
{
  SDL_Init(SDL_INIT_EVERYTHING);
 
  //Set OpenGL memory usage
  SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 8 );
  SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 8);
  SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 8 );
  SDL_GL_SetAttribute( SDL_GL_ALPHA_SIZE, 8);
  SDL_GL_SetAttribute( SDL_GL_BUFFER_SIZE, 32);
  SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, 16 );
  SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );
 
  //Caption of the window
  SDL_WM_SetCaption( "Our first game", NULL );
 
  //Size of the window
  SDL_SetVideoMode(600,400,32, SDL_OPENGL );
 
  //Specific the clear color
  glClearColor(1,1,1,1); //RED,GREEN,BLUE,ALPHA
 
  //What portion of the screen we will display
  glViewport(0,0,600,400);
 
  //2D rendering
  glMatrixMode(GL_PROJECTION);
 
  //"Save" it
  glLoadIdentity();
 
  //Disable depth checking
  glDisable(GL_DEPTH_TEST);
 
  std::cout << "OpenGL is running" << std::endl;
 
  //Wait 5 seconds
  SDL_Delay(5000);
 
  //Quit SDL
  SDL_Quit();
 
  return 0;
}

Hier kommt jedoch ein Error bei JEDER OpenGL Funktion... nämlich :

Code:
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glDisable@4" in Funktion "_SDL_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glLoadIdentity@0" in Funktion "_SDL_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glMatrixMode@4" in Funktion "_SDL_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glViewport@16" in Funktion "_SDL_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glClearColor@16" in Funktion "_SDL_main".
1>C:\Users\Tommi\documents\visual studio 2010\Projects\OpenGL_SDL_TEST\Debug\OpenGL_SDL_TEST.exe : fatal error LNK1120: 5 nicht aufgelöste externe Verweise.

Wenn mir bitte jemand helfen könnte.
 

sheel

I love Asm
Hi

Für OpenGL sind weitere lib-Dateien um Eintragen.
Ich glaube opengl32.lib und glu32.lib

Gruß
 

deepthroat

Erfahrenes Mitglied
Hi.

Diese Bibliotheken sind Teil das Plattform / Windows SDKs, welches auch mit dem Visual Studio installiert werden kann. Die Dateien sollten unter c:\program files (x86)\microsoft sdks\windows\v7.0a\lib\ zu finden sein.

Oder du lädst es dir extra runter. Das geht natürlich auch.

\edit: in der Regel trägst du die Bibliotheken einfach nur in den Projekteinstellungen ein, VS2010 findet die dann automatisch.

Gruß
 

Neue Beiträge