PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Dev-C++/OpenGL]Lib für GL-Extensions?


Gast
2006-06-10, 20:39:03
Hi Leute,

ich hab mal versucht, unter Dev-C++ 4.9.9.2 (mit gcc 3.4.2) Funktionen aus der glext.h zu nutzen. Jedoch bekomme ich immer Linker-Fehler der Art
"undefined reference to <Funktionsname>", d.h. der Linker findet die zugehörige Funktion in der libopengl32.a nicht. Gibt's für die Extensions eine eigene Lib? Oder ist meine opengl32 Lib veraltet?

del_4901
2006-06-10, 20:42:09
Gast[/POST]']Hi Leute,

ich hab mal versucht, unter Dev-C++ 4.9.9.2 (mit gcc 3.4.2) Funktionen aus der glext.h zu nutzen. Jedoch bekomme ich immer Linker-Fehler der Art
"undefined reference to <Funktionsname>", d.h. der Linker findet die zugehörige Funktion in der libopengl32.a nicht. Gibt's für die Extensions eine eigene Lib? Oder ist meine opengl32 Lib veraltet?

ne du musst dem noch den Einsprungpunkt in der dll mitgeben.

Nimm am besten glew, das spaart viel arbeit und hält den Code übersichtlich.

http://glew.sourceforge.net/

Gast
2006-06-10, 21:45:37
AlphaTier[/POST]']ne du musst dem noch den Einsprungpunkt in der dll mitgeben.

Nimm am besten glew, das spaart viel arbeit und hält den Code übersichtlich.

http://glew.sourceforge.net/ich habe jetzt mal
#include <glext.h>
durch
#include <glew.h>
ersetzt, die Linkerfehlermeldung wird dadurch von
undefined reference to glActiveTextureARV@4
zu
undefined reference to _imp____glewActiveTextureARB
trotz eingebundener glew32.lib.
Liegt wahrscheinlich daran, daß es eine proprietäre Lib für VC ist und DevC++ ein anderes Namemangling verwendet: die Funktionsname in der Lib haben ein _ mehr vorangestellt.

Die statische Version mit glew32s.lib funktioniert ebenfalls nicht, das Setzen von -DGLEW_STATIC in den Compileroptionen liefert die Fehlermeldung
.drectve `/DEFAULTLIB:"LIBC" /DEFAULTLIB:"OLDNAMES" ' unrecognized

Trap
2006-06-10, 22:15:20
Source runterladen und selbst compilieren sollte das beheben.

Gast
2006-06-10, 22:18:48
für DevC++ gibt's ein DevPak für glew, das mit ner eigenen libglew32.a daherkommt. Da geht zwar der Linker-Error von weg, aber dafür stürzt das Programm beim ersten Aufruf einer Extension-Funktion (glActiveTextureARB) ab.
Ich probier mal das selbst compilieren.

del_4901
2006-06-10, 22:40:42
Gast[/POST]']für DevC++ gibt's ein DevPak für glew, das mit ner eigenen libglew32.a daherkommt. Da geht zwar der Linker-Error von weg, aber dafür stürzt das Programm beim ersten Aufruf einer Extension-Funktion (glActiveTextureARB) ab.
Ich probier mal das selbst compilieren.

es kann sein das dein Treiber diese Fkt nichtmehr unterstützt. Hab ich schon bei Nv erlebt, muss aber sagen, das ich bei Ati dran gewohnt bin ^^

Gast
2006-06-10, 22:54:35
gluInit() heißt die Lösung, vor dem ersten Aufruf einer Extensions-Funktion aufzurufen :)

Gast
2006-06-10, 22:55:19
ich meinte natürlich glewInit(), da spricht man aber auch so verdammt gleich aus :D

del_4901
2006-06-10, 23:00:03
Gast[/POST]']ich meinte natürlich glewInit(), da spricht man aber auch so verdammt gleich aus :D
ähm das stand aber auch in der Doku ^^
Eigendl. hätte ich dich danach fragen müssen ^^