ich hoffe mir wird nicht gleich der Kopf abgerissen, wenn ich eine Frage bezügl. C++ bzw. zur VC++ Express als IDE habe , aber ich denke dank der super Tutorials auf dieser Seite werden sich auch die ein woder anderen C++ Programmierer hier tummeln.
ich habe hier ein kleines Problemchen und komm einfach nicht auf die Lösung. Ich arbeite mit MS VC++ 2010 Express (hab auch die 2008 Version installiert und getestet) und versuche mich gerade ein wenig mit OpenGL.
Dazu verwende ich freeglut und glew.
Die DLLs sind ins Systemverzeichnis kopiert worden. Die lib Dateien wurden nach ...VC/lib/ kopiert, die header-Dateien nach .../VC/iclude/GL/ kopiert (Verzeichnis GL hab ich dort erstellt.
Die Header werden per #include <GL/freeglut.h> und <GL/glew.h> inkludiert. Ich hab bei den Projekteigentschaften unter Konfigurationseigenschaften->Linker->Eingabe zusätzliche Abhängigkeiten für freeglut.lib und glew32.lib eingetragen.
Schreibe ich nun ein simples Testprogramm:
Code:
#include <GL/glew.h> #include <GL/freeglut.h>
int main (int argc, char **argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_ALPHA | GLUT_DEPTH); glutInitWindowSize(800,800); glutInitWindowPosition(300,300); glutCreateWindow("GLEW INIT");
glewInit(); glutMainLoop(); return(0); }
erhalte ich einen Linker-Fehler:
Code:
1>------ Erstellen gestartet: Projekt: OpenGL, Konfiguration: Debug Win32 ------ 1>test2.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glewInit" in Funktion "_main". 1>F:\Win7-Daten\Visual Studio 2010\Projects\OpenGL\Debug\OpenGL.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise. ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Mit Freeglut gibts keine Probleme, allerdings mit Glew (welches ich für die GL-Extensions benötige). Habe es auch schon versucht, statisch zu linken --> gleiches Problem
Ich komm einfach nicht drauf, wo das Problem liegt. Hat vlt jmd von euch einen Tip? Oder hatte das Problem selber mal und es gelöst?
Mal ne Frage, wie erstellt du in int main() das Windowsfenster für die Ausgabe des Bildes? ich kenne die glew und freeglut libery nich, aber mit dennen kannst du das ja normalerweise nicht erstellen, das opengl plattformunabhänig ist.
Registriert: Di Okt 13, 2009 17:25 Beiträge: 365
Programmiersprache: C++
Jonathan hat geschrieben:
Mal ne Frage, wie erstellt du in int main() das Windowsfenster für die Ausgabe des Bildes? ich kenne die glew und freeglut libery nich, aber mit dennen kannst du das ja normalerweise nicht erstellen, das opengl plattformunabhänig ist.
Na mit glutCreateWindow natürlich. Und GLUT gehört afaik auch nicht direkt zu OpenGL, sondern ist so 'ne extra Library.
Zuletzt geändert von mrtrain am Mi Aug 31, 2011 20:23, insgesamt 1-mal geändert.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Genau. GLUT steht für GL Utility Toolkit. Die Orginalglut soll das leben der (C-)Programmierer leichter machen. Gehört aber im eigentlichen Sinne nicht zu OpenGL.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Ähäm -- *hust* das is mir jetzt schon fast peinlich
Aber es lag daran, dass ich die 64bit Version von glew genommen habe - VC++ 2010 Express aber nur nen 32bit compiler besitzt
Da gab es wohl ein paar Problemchen
Was glut bzw. freeglut ist wurde ja schon beantwortet - ansonsten einfach mal nach freeglut googeln. Es werden viele Funktionen bereitgestellt, die einem viel Arbeit abnehmen, und gerade wenn man sich eigentlich eher mit OpenGL Techniken etc beschäftigen möchte, ist es schön, wenn man sich um den Rest nicht wirklich zu kümmern braucht
Mitglieder in diesem Forum: 0 Mitglieder und 23 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.