2017-06-21 4 views
0

Ich habe versucht, eine Code-Basis (CloudyDay) auf meinem Linux-Rechner zu kompilieren. Nachdem ich durch so viele Reifen gesprungen bin, um es in Gang zu bringen, stecke ich bei diesem Fehler fest.__glewBindBuffer Kompilierfehler

Fehler - je nach Bedarf undefined reference to `osg :: GLBufferObject :: Erweiterungen :: __ glewBindBuffer (unsigned int, unsigned int) const‘

Soweit ich weiß, habe ich die Header und Bibliotheken enthalten und in der Bedienungsanleitung erwähnt.

Kompilieren gegen -

OSG 3.0.0, schnitzen 2.0.0, osgHimmel, openGL - Linux Debian Distribution, GLEW - Linux Debian Distribution

cloudyday Quellcode + Benutzerhandbuch verfügbar bei - https://www.cg.tuwien.ac.at/research/publications/2014/BEHAM-2014-RCR/

Makefile-Extrakt

LIBS = -L'/home/local/install_dir/OSG/3.0.0/lib64' -lOpenThreads -losg -losgViewer -losgGA -losgDB -losgUtil -losgText -L'/home/local/install_dir/carve/2.0.0/lib' -lintersect -L'/usr/lib/x86_64-linux-gnu' -ltinyxml2 -L'/home/local/install_dir/osghimmel/osgHimmel/lib' -losgHimmel `pkg-config --libs glew` 

CXXFLAGS = -I'/home/local/CloudyDay/include/CloudyDay' -I'/home/local/CloudyDay' -I'/home/local/install_dir/OSG/3.0.0/include' -I'/usr/include' -I'/home/local/install_dir/carve/carve-2.0.0/include' -I'/home/local/install_dir/osghimmel/osgHimmel/include' `pkg-config --cflags glew` 

pkg-config Ergebnis für glew

$ pkg-config --cflags --libs glew 

-I/usr/include/GL -I/usr/include/libdrm -lGLEW -lGLU -lGL 

Alle Hinweise zur Lösung dieses Problems würde geschätzt.

Antwort

0

Typische Reihenfolge der Bibliotheken Problem. Setzen Sie die pkg-config ... nach den -losg... Bibliotheken (es ist wahrscheinlich in Ordnung, es als "letzte" in dieser Zeile zu setzen).

In gnu (und anderen typischen "Unix/Linux") - Werkzeugketten werden Bibliotheken in der Reihenfolge ihres Erscheinens "verwendet". Sie erfüllen also nur ungelöste Symbole, die vor der zu verknüpfenden Bibliothek gefunden wurden gegebener Punkt. Da (von dem, was ich sagen kann) die OSG-Bibliotheken GLEW verwenden, müssen die GLEW-Bibliotheken nach OSG kommen.

+0

Dank @MatsPetersson. Das war meine erste Lösung. Aber irgendwie hat das das Problem nicht gelöst. – PaperMoon

+0

Dann aktualisieren Sie Ihre Frage mit dem, was Sie gerade tun, und erklären, was das Problem damit ist - weil, was Ihr Beitrag enthält sieht aus wie es ist dieses Problem - Ich kann nur gehen, was ich in der Frage selbst sehe. –

+0

Fertig, aktualisiert die Makefile-Einträge im Post. Es spiegelt das neueste Setup, das ich in diesem Stadium habe. – PaperMoon