Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Mai 22, 2024 00:21

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So Apr 27, 2014 16:46 
Offline
DGL Member

Registriert: Fr Apr 18, 2014 17:11
Beiträge: 19
Programmiersprache: Python Java
Hallo zusammen,

nachdem Ihr mich schon bei meiner ersten Frage so hilfreich unterstützt habt :D , würde ich mich gerne weiter von Euch beraten lassen.

Also, in meiner ersten Frage habt Ihr mich auf das absolut geniale Tutorial http://openglbook.com/the-book/ aufmerksam gemacht. Nach einigem Stress habe ich dann das erste C-Beispiel gcc auch hinbekommen. In dem Programm werden die Abhängigkeiten

Code:
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <GL/freeglut.h>
fehlerfrei erfüllt.

In den weiteren Beispielen wird dann aber noch zusätzlich die glew-Library benötigt:

Code:
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <GL/glew.h>
  5. #include <GL/freeglut.h>
Mit dem Aufruf von

Code:
  1. gcc Chapter1.2.c -Wall -o Chapter1.2 -lglut -lGL
erhalte ich folgende Fehlermeldung:

Code:
  1. Chapter1.2.c:(.text+0x50): undefined reference to `glewInit'
  2. Chapter1.2.c:(.text+0x63): undefined reference to `glewGetErrorString'

Meine Arbeitsumgebung ist Manjaro KDE (arch-based). Das Paket glew ist korrekt (?) mit pacman installiert. In /usr/lib gibt es die Lib libGLEW.so, die Header-Datei GL/glew.h in /usr/include ist auch vorhanden.

Weiß vielleicht jemand, wo da der Fehler liegen könnte ?

Grüße
v


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Apr 27, 2014 16:55 
Offline
DGL Member

Registriert: Do Dez 29, 2011 19:40
Beiträge: 421
Wohnort: Deutschland, Bayern
Programmiersprache: C++, C, D, C# VB.Net
Linkerfehler -> Klingt ziemlich danach, das du es nicht richtig gelinkt hast.
Wenn du statisch linkst(Was ich generell jedem stark empfehlen würde), musst du außerdem "GLEW_STATIC" im Präprozessor definieren, sonst sollte es auch zu Linkerfehlern kommen.

Ich weiß nicht ob das in einer aktuellen Version gefixt ist, aber nur als Hinweis:
Für einen 3.3 Corecontext musste man "glewExperimental" auf "true" setzen, sonst wird intern deprecated Funktionalität genutzt und es kommt zu OpenGL Fehlern.

EDIT:
Siehe hier: http://www.opengl.org/wiki/OpenGL_Loading_Library


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Apr 27, 2014 17:23 
Offline
DGL Member

Registriert: Fr Apr 18, 2014 17:11
Beiträge: 19
Programmiersprache: Python Java
Ja, es war erst mal ein Linker-Fehler. Mit

Code:
  1. gcc Chapter1.2.c -Wall -o Chapter1.2 -lglut -lGLEW -lGL
Funlioniert es !
OpenglerF hat geschrieben:
Linkerfehler ->Ich weiß nicht ob das in einer aktuellen Version gefixt ist, aber nur als Hinweis:
Für einen 3.3 Corecontext musste man "glewExperimental" auf "true" setzen, sonst wird intern deprecated Funktionalität genutzt und es kommt zu OpenGL Fehlern.

Guter Tip ! Danke !

Um weiterzukommen, arbeite ich jetzt erst mal mit 3.3. Wenn ich die 750er GeForce habe, werde ich das noch mal von vorne durchexerzieren. Hat auch was Gutes: Man sieht etwas genauer die Unterschiede.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.023s | 17 Queries | GZIP : On ]