Hilfe mein Microsoft Visual Studio 2003 mag nicht mit GLUI spielen!



  • Hallo liebe Gemeinde,
    ich habe angefangen mich mit OpenGL zu beschäftigen, möchte allerdings nicht wie in der Uni mit MS VC++ 2005 sondernd mit meiner 2003er Version arbeiten. Funktioniert auch alles ganz gut, nur sobald ich ein Programm mit Glui verwende, hagelt es Fehlermeldungen! Habe Glut, Glui, Platform SDK, ... installiert und wenn ich beispielsweise das Example von www-h.eng.cam.ac.uk kompilieren möchte (in einer leeren Konsolenanwendung, libs in den Einstellungen hinzugefügt) kommen Meldungen wie:

    Kompilieren...
    ejemplo1glui.cpp
    f:\Visual Studio Projects\EjemploGlui\ejemplo1glui.cpp(29) : error C2653: 'std': Keine Klasse oder Namespace
    f:\Visual Studio Projects\EjemploGlui\ejemplo1glui.cpp(29) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'text'
    f:\Visual Studio Projects\EjemploGlui\ejemplo1glui.cpp(29) : error C2501: 'string': Fehlende Speicherklasse oder Typspezifizierer
    ...
    :\Visual Studio Projects\EjemploGlui\ejemplo1glui.cpp(207) : error C2661: 'GLUI_RadioButton::GLUI_RadioButton': Keine überladene Funktion akzeptiert 2 Argumente
    f:\Visual Studio Projects\EjemploGlui\ejemplo1glui.cpp(208) : error C2661: 'GLUI_RadioButton::GLUI_RadioButton': Keine überladene Funktion akzeptiert 2 Argumente
    f:\Visual Studio Projects\EjemploGlui\ejemplo1glui.cpp(209) : error C2661: 'GLUI_Button::GLUI_Button': Keine überladene Funktion akzeptiert 4 Argumente
    
    Das Build-Protokoll wurde unter "file://f:\Visual Studio Projects\EjemploGlui\Debug\BuildLog.htm" gespeichert.
    EjemploGlui - 17 Fehler, 0 Warnung(en)
    

    Wie gesagt, OpenGL/Glut ohne Glui klappt ohne Probleme. Jemand eine Idee? Würde mich freuen wenn jemand weiter weiß. Brauch es wie gesagt für die Uni und bin kein großer C++-Kenner!



  • Die ersten drei Fehlermeldungen sind darauf zurückzuführen, dass du in der Datei ejemplo1glui.cpp ein "#include <string>" vergessen hast.

    Die nächsten drei Fehlermeldungen erklären dir, dass du die Funktionen falsch aufrufst. Du übergibst zuwenige oder zuviele Argumente an die Funktionen.

    MfG SideWinder



  • Danke für deine Antwort. Allerdings ist die string.h eingebunden und das ist das Beispiel von Paul Rademacher, dem Author der GLUI Lib. http://www-h.eng.cam.ac.uk/help/tpl/graphics/using_glui.html Ich kann mir die Fehler einfach nicht erklären, ist NUR bei GLUI Programmen, OpenGl an sich und auch mit GLUT läßt sich problemlos kompilieren.

    Momentan sagt er mir folgenden:

    Kompilieren...
    ejemplo1glui.cpp
    C:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include\stdlib.h(256) : error C2381: 'exit': redefinition; __declspec(noreturn) unterscheidet sich
            C:\Programme\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\gl\glut.h(146): Siehe Deklaration von 'exit'
    
    Das Build-Protokoll wurde unter "file://f:\Visual Studio Projects\EjemploGlui\Release\BuildLog.htm" gespeichert.
    EjemploGlui - 1 Fehler, 0 Warnung(en)
    
    ---------------------- Fertig ----------------------
    
        Erstellen: 0 erfolgreich, 1 fehlgeschlagen, 0 übersprungen
    


  • Ich sagte ja auch <string> und nicht <string.h>!

    Der derzeitige Fehler hat offenbar damit zu tun, dass sowohl GLUI als auch der Header <cstdlib> (stdlib.h) eine Funktion exit() definieren. Lösung: Includiere den Header <cstdlib> (bzw. stdlib.h) nicht.

    MfG SideWinder



  • Jippie, es klappt! Es gibt wohl eine Inkompatibilität zwischen GLUI und Visual Studio .NET. Unter Projekteinstellungen -> C/C++ -> Preprocessor -> Preprocessor Definitionen den eintrag GLUT_BUILDING_LIB hinzufügen und es funktioniert. Da muss erstmal einer drauf kommen!

    Links zum Thema:

    http://www.cs.tufts.edu/research/graphics/resources/GLUT/GLUT.htm
    http://www.fachschaft.informatik.tu-darmstadt.de/forumold/printview.php?t=5604&start=0&sid=dac87d185fff9601d6d77318496e0d54



  • SoundsO schrieb:

    Da muss erstmal einer drauf kommen!

    Steht bestimmt in der FAQ oder in der Hilfe 😉

    MfG SideWinder



  • In den Installationsanleitungen die ich gelesen hab stand da leider kein Wort drüber drin, darum wollt ichs hier auch unbedingt noch für die Nachwelt verewigen 😉 Aber egal - jetzt wird erstmal mit GLUI rumgespiel!!!


Anmelden zum Antworten