Nicht definierter Verweis auf `__glewActiveStencilFaceEXT'



  • Ich versuche gerade hier ein altes Codebeispiel zu compilieren, dass ich vor vielen Jahren mal hier downgeladen haben:

    http://frustum.org/3d/download.php?f=42/ShadowVolume.tar.gz
    http://frustum.org/3d/index.php?demo=45

    Ein paar Compiler- und Linkerfehler konnte ich beseitigen, aber jetzt erhalte ich diese Fehlermeldung:

    make
    g++  -o main main.o glapp.o font.o utile.o texture.o object.o mesh.o meshvbo.o -L/usr/X11R6/lib -lX11 -lXxf86vm -lGL -lGLU -ljpeg -lpng
    main.o: In Funktion `GLAppMain::renderShadowVolume(mat4 const&, Mesh*, vec3 const&, float)':
    main.cpp:(.text+0x340e): Nicht definierter Verweis auf `__glewActiveStencilFaceEXT'
    main.cpp:(.text+0x343e): Nicht definierter Verweis auf `__glewActiveStencilFaceEXT'
    collect2: error: ld returned 1 exit status
    make: *** [main] Fehler 1
    

    Folgende Änderungen habe ich bisher durchgeführt:

    diff -rupN original/ShadowVolume/main.cpp ShadowVolume/main.cpp
    --- original/ShadowVolume/main.cpp      2004-02-27 07:29:57.000000000 +0100
    +++ ShadowVolume/main.cpp       2015-02-10 06:34:19.026347390 +0100
    @@ -6,6 +6,7 @@
      */
    
     #include <stdio.h>
    +#include <GL/glew.h>
     #include "mathlib.h"
     #include "glapp.h"
     #include "font.h"
    diff -rupN original/ShadowVolume/Makefile ShadowVolume/Makefile
    --- original/ShadowVolume/Makefile      2004-02-19 14:49:09.000000000 +0100
    +++ ShadowVolume/Makefile       2015-02-10 06:49:41.174387742 +0100
    @@ -1,6 +1,6 @@
     CC = g++
    
    -CFLAGS = -DGL_GLEXT_LEGACY -DGL_GLEXT_PROTOTYPES
    +CFLAGS = -DGL_GLEXT_LEGACY -DGL_GLEXT_PROTOTYPES  -fpermissive -Wunused-result
     LIBS = -L/usr/X11R6/lib -lX11 -lXxf86vm -lGL -lGLU -ljpeg -lpng
    
     TARGET = main
    diff -rupN original/ShadowVolume/mesh.h ShadowVolume/mesh.h
    --- original/ShadowVolume/mesh.h        2004-02-23 13:54:38.000000000 +0100
    +++ ShadowVolume/mesh.h 2015-02-10 06:24:32.070321706 +0100
    @@ -10,6 +10,8 @@
    
     #include <vector>
     #include <stdio.h>
    +#include <cstring>
    +#include <cstdlib>
     #include "mathlib.h"
    
     class Mesh {
    


  • Noch -lGLEW ?



  • Danke, daran lag es.
    Ich hatte -lglew schon probiert, aber ich hatte es klein geschrieben und das hat dann nicht funktioniert.

    Jetzt compiliert und linkt es aber ohne Probleme.
    Das Problem ist jetzt nur, dass ich einen Speicherzugriffsfehler erhalte, wenn ich das Compilat ausführe.


Anmelden zum Antworten