!solved! Linkerfehler mit GLEW (vermutlich Anfängerfehler)



  • SOLVED!!

    Hi bin ein ziemlicher Anfänger mit C++ und openGL.
    Arbeite seit ~2-3 Monaten damit und es wirkt schon echt abschreckend wenn man sich zwischen Linker-fehlern Extensions und lauter so nem Zeug wiederfindet ^^

    Naja hier also mein Problem:
    Ich brauche eine OGL funktion namens glBlendEquation und die hat MVC++ anscheinend nicht vorinstalliert. Also hab ich mich umgeschaut wo ich sie herbekomm, und siehe da, GLEW scheint das zu können.
    Jetzt scheinen meine begrenzten C++-Kenntnisse an einem linkerfehler zu scheitern.
    Wörtlich:
    error LNK2001: unresolved external symbol __imp____glewBlendEquation

    Eingebunden hab ich es via:
    #include <GL\glew.h>
    und ansonsten hab ich mich an die installation auf der GLEW hauptseite gehalten... dacht ich zumindest.
    Also glew32.dll ist im system32-Ordner, glew.h und wglew.h im Include/GL/ von der entwicklungsumgebung und glew32.lib im libraryverzeichnis (../lib/)

    €dit:
    Hab vergessen zu erwähnen, dass ich versucht habe glew.lib zu verlinken, aber es gelingt mir anscheinend nicht. meine verlinkung sieht so aus:
    Projekt->Preferences->Linker->Additional Dependencies: glew32.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)

    Aber ich krieg trotzdem den linkerfehler und jetzt ist die mich interessierende frage:
    Wo liegt der Fehler. Ist die lib-datei nicht richtig eingebunden oder die dll....

    Und was fast noch wichtiger ist:
    Wenn dann mal alles läuft, müssen dann die user meines programmes auch die bibliothek haben oder werden die entsprechenden codeschnipsel in mein programm eingebunden???
    Wenn es eine option gibt um das zu machen, wär ich sehr verbunden, denn ich will das programm möglichst ohne installation zum laufen bringen und bisher tut das auch.

    ===>Lösung
    Vergessen glew zu initialisieren. Die glew library muss initialisiert werden, damit die funktionen verfügbar sind.
    Details: http://glew.sourceforge.net/basic.html

    Völlig unabhängig vom GLEW-problem hab ich noch ein zweites eher minderes Problem. Mein Programm rendert unter anderem dünne linien die auf einer textur basieren die auf ein quad gezechnet wird. Das ergebnis ist recht gut für nähe, allerdings wird es stark hässlich für distanz (was wohl daran liegt, dass die linie unter einem pixel dick ist an manchen stellen und dann nicht einfach weniger stark rauskommt, sondern stattdessen immer mal wieder stückweise zu sehen ist und dann mal wieder nicht.
    Der effekt ist besonders nervig für winkel um die 0°, 90°, 180°....
    Ich geh mal davon aus dass das ein bekanntes problem ist sonst würden moderne spiele kaum so gut aussehen, denn die haben es offensichtlich mehr oder weniger gelöst.
    Wie kann ich dem entgegenwirken? Brauch ich dafür kantenglättung? und wenn ja, wie kann ich eine schwache kantenglättung anwenden?

    Falls du bis hierhin gelesen hast, vielen vielen dank für die geduld...
    ich bin für alle ratschläge offen.
    Gruß TreffnonX
    PS: :schland: WM !!! 😃 :schland:



  • Ich weiß zwar nicht ob dir das noch hilft, allerdings kenne ich das Problem auch von Modellierungsprojekten. Abhilfe schafft hier Adaptive Sampling. Ich weiß allerdings nicht, wie man dies in OpenGL realisiert. Google einfach mal.


Anmelden zum Antworten