OpenGL unter Windows XP



  • Hallo,

    ich möchte gerne OpenGL unter Windows XP nutzen, weiss aber nicht, was ich alles dafür brauche.

    Ich hab mir auch schon Tutorials angeschaut, es wird aber nirgends auf dieses Thema eingegangen.

    Also, wenn ihr da bescheid wisst.

    Gruß



  • Dieser Thread wurde von Moderator/in phlox81 aus dem Forum Andere GUIs - Qt, GTK+, wxWidgets in das Forum Spiele-/Grafikprogrammierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


  • Mod

    eigentlich solltest du schon alles dafuer haben wenn du eine devumgebung hast 😉 versuch einfach ein beispiel von nehe zu kompilieren.



  • was ist eine devumgebung und wer ist nehe ?



  • andre666 schrieb:

    was ist eine devumgebung und wer ist nehe ?

    Hi Andre,

    wenn hier mit einer DevUmgebung das gemeint ist wonach es klingt, kann ich dir in diesem Bezug weiter helfen:

    Ich selbst nutze eine DevUmgebung, also "DevC++" von Bloodshed (findest du bei Google), es gibt auch "MinGW" von Windows selbst (wird gerne verwändet wenn man WinAPIs schreiben will)!

    Eine DevUmgebung ist also eine BenutzerUmgebung für uns Programmierer, welche automatisch die "Makefiles" schreibt, den C++ Compiler und den Linker startet usw.

    Also: bei Google unter "Bloodshed + DevC++" findest du die DevUmgebung!

    Gruß LukasBanana 🙂



  • @Lukas: Du hastd da ein paar Sachen durcheinander gebracht. MinGW ist eine gcc - Portierung für Windows. Diese ist also keineswegs von Microsoft selbst.

    DevCpp verwendet MinGW, MinGW ist keine Entwicklungsumgebung sondern ein Compiler!

    ___________

    mit devumgebung meint rapse wohl eher ein IDE wie Code::Blocks, VC2k5, Eclipse/CDT oder auch DevCpp, das aber nicht mehr weiterentwickelt ist.

    openGL-Header für Windows für VC2k5 EE im PSDK, bei der Standartversion ist es wohl schon dabei. Über MinGW kann ich keine Aussagen machen, hab ich noch nicht verwendet.



  • ok, ich hab jetzt DevCpp installiert, ausserdem habe ich mir die freeglut runtergeladen und installiert. Ich konnte schon ein einfaches Fenster mit schwarzer Hintergrundfarbe öffnen, allerdings bei folgendem Beispiel habe ich Probleme:

    #include <GL/glut.h>
    #include <math.h>
    #include <stdlib.h>
    const double pi=3.1415926535897932384626433832795028841971693993751;
    
    static int grad=0;
    
    void keyboard (unsigned char key, int x, int y)
    {
       switch (key) {
          case 's':
             grad = (grad + 5) % 360;
             glutPostRedisplay();
             break;
          default:
             break;
       }
    }
    
    void display(void)
    {
       glEnable(GL_DEPTH_TEST); 
       glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    
       glMatrixMode(GL_MODELVIEW);
       glLoadIdentity();
       gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
       // Kamera-Standpunkt : 3,3,3
       // schaut auf Punkt  : 0,0,0
       // up-Vektor (z) : 0,0,1
    
    //x-Achse ist vorn 
    //y-Achse 
    
       glColor3f (1.0, 1.0, 1.0); 
    
    glPushMatrix();
    glTranslatef(-10.0, 4.0, -2.0);
    glutWireTetrahedron() ;
    glPopMatrix();
    
       glutSwapBuffers ();
    }
    
    void init (void) 
    {
       glClearColor (0.0, 0.0, 0.0, 0.0);
       glClearDepth(1.0);
       glMatrixMode(GL_PROJECTION);
       glLoadIdentity();
       glFrustum( -2, 2, -2, 2, 1, 10);
    }
    
    int main(int argc, char** argv)
    {
       glutInit(&argc, argv);
       glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
       glutInitWindowSize (500, 500); 
       glutInitWindowPosition (100, 100);
       glutCreateWindow (argv[0]);
       init ();
       glutDisplayFunc(display); 
       glutKeyboardFunc(keyboard);
       glutMainLoop();
       return 0;   
    }
    

    Die Fehlermeldung ist:

    Compiler: Default compiler
    Building Makefile: "C:\Dev-Cpp\opengl_projekte\Makefile.win"
    Führt  make... aus
    make.exe -f "C:\Dev-Cpp\opengl_projekte\Makefile.win" all
    g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"  -I"C:/Dev-Cpp/include/c++/3.4.2/backward"  -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"  -I"C:/Dev-Cpp/include/c++/3.4.2"  -I"C:/Dev-Cpp/include"   
    
    g++.exe main.o  -o "3D_Körper.exe" -L"C:/Dev-Cpp/lib"  
    
    main.o(.text+0x52):main.cpp: undefined reference to `_imp__glutPostRedisplay@0'
    main.o(.text+0x68):main.cpp: undefined reference to `glEnable@4'
    main.o(.text+0x77):main.cpp: undefined reference to `glClear@4'
    main.o(.text+0x86):main.cpp: undefined reference to `glMatrixMode@4'
    main.o(.text+0x8e):main.cpp: undefined reference to `glLoadIdentity@0'
    main.o(.text+0xcc):main.cpp: undefined reference to `gluLookAt@72'
    
    main.o(.text+0xee):main.cpp: undefined reference to `glColor3f@12'
    main.o(.text+0xf6):main.cpp: undefined reference to `glPushMatrix@0'
    main.o(.text+0x115):main.cpp: undefined reference to `glTranslatef@12'
    main.o(.text+0x11d):main.cpp: undefined reference to `_imp__glutWireTetrahedron@0'
    main.o(.text+0x124):main.cpp: undefined reference to `glPopMatrix@0'
    main.o(.text+0x129):main.cpp: undefined reference to `_imp__glutSwapBuffers@0'
    main.o(.text+0x15c):main.cpp: undefined reference to `glClearColor@16'
    main.o(.text+0x169):main.cpp: undefined reference to `glClearDepth@8'
    main.o(.text+0x178):main.cpp: undefined reference to `glMatrixMode@4'
    main.o(.text+0x180):main.cpp: undefined reference to `glLoadIdentity@0'
    main.o(.text+0x1bc):main.cpp: undefined reference to `glFrustum@48'
    
    main.o(.text+0x1fe):main.cpp: undefined reference to `_imp__glutInit@8'
    main.o(.text+0x20f):main.cpp: undefined reference to `_imp__glutInitDisplayMode@4'
    main.o(.text+0x228):main.cpp: undefined reference to `_imp__glutInitWindowSize@8'
    
    main.o(.text+0x241):main.cpp: undefined reference to `_imp__glutInitWindowPosition@8'
    main.o(.text+0x253):main.cpp: undefined reference to `_imp__glutCreateWindow@4'
    main.o(.text+0x269):main.cpp: undefined reference to `_imp__glutDisplayFunc@4'
    main.o(.text+0x27a):main.cpp: undefined reference to `_imp__glutKeyboardFunc@4'
    main.o(.text+0x284):main.cpp: undefined reference to `_imp__glutMainLoop@0'
    collect2: ld returned 1 exit status
    
    make.exe: *** [3D_Körper.exe] Error 1
    
    Ausführung beendet
    

    Was fehlt mir noch ?



  • du musst die entsprechenden libarys dazu linken.



  • also, die glut ist gelinkt.
    die math sollte doch auch funktionieren.
    die stdlib, ja, keine Ahnung, da hab ich nichts gefunden im Ordner lib.
    wenn ich die noch irgendwo downloaden muss, dann gebt mir bitte auch den Tipp, wo.



  • glu32 und opengl32 fehlt



  • ok, jetzt funkt es.

    Es fehlte auch noch die glut32.dll Datei unter Windows/system.


Anmelden zum Antworten