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

Aktuelle Zeit: Sa Jul 05, 2025 15:14

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So Mär 15, 2009 23:06 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 25, 2005 16:00
Beiträge: 189
Programmiersprache: Java, C#
Hi.

Ich hab heute versucht auf die OpenGL Extensions unter C++ zuzugreifen. Dazu wollte ich glew nehmen.
Meine IDE ist btw. Codeblocks.

Nur bekomme ich es nicht richtig hin. Der Pfad zu den Header-Files ist unter den Global compiler settings eingetragen, genauso wie der Linker den Pfad zu den .lib Dateien kennt.
Die Datei glew.h wird also gefunden, genauso wie die beiden .lib dateien glew32.lib und glew32s.lib

Das Problem ist, beim kompilieren bekomme ich die Fehlermeldung "cannot find -lglew32.lib".
Die existiert aber im offiziellen Download nicht und Google findet auch nichts :(

Jemand das Problem schonma gehabt? Hier laufen ja auch einige C++'ler rum, wie sorgt ihr dafür das ihr die Extensions nutzen könnte?



edit: hm, ich raff nich so ganz warum ich es beim visual c++ hinbekomme, aber nich bei codeblocks :?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 15, 2009 23:57 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Du linkst das ganze falsch.
Erstmal, sollte gcc/mingw32 die .lib völlig kalt lassen, da diese von MS VSC++ sind.
Du brauchst Datein mit .dll oder .a Endung.
Erstens sind dynamische Bibliotheken und 2. sind statische Bibliotheken.
Die suchreihenfolge des Compilers sieht wie folgt aus, finde in einen der Bibliotheksordner eine .dll file, wenn nicht vorhanden such eine .a.
Mitteilen tutst du das Linken, indem du in deinem Projekt rechtsklick->Properties->Build Taget->Target auswählen und Build options klicken->im Linker settings trägst du -lglew32 ein und unter Search directories->Linker-> gibst du den Pfad zu deiner a/dll File an und bei Compiler gibst du den Ordner mit dem Header an.
So musst du das für jedes Projekt aufs neue machen aber es ist wesentlich sauberer als über die allgmeinen Compiler settings.
Wenn du wirklich statisch linken willst, dann musst du entweder die dll aus allen ordnern entfernen oder explizit pfad/glew32.a statt -lglew32 angeben.
Ich hab vorgestern mein Projekt auch angefangen auf Code::Blocks umzustellen und nutze ebenfalls glew.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 16, 2009 00:07 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Achso, um die statische bibliothek von glew zu compilieren kannst du folgende Zeile verwenden.

gcc -c -O2 -Wall -W -DGLEW_STATIC -I../include -o glew32.a glew.c

Diese habe ich aus meiner Makefile kopiert, also die Flags für optimierung und Warnungen kannst du noch entsprechend anpassen, sowie den include pfad.
Ausführen solltest du den Befehl im src Ordner von glew Package.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 19, 2009 19:56 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 25, 2005 16:00
Beiträge: 189
Programmiersprache: Java, C#
Erstma danke für die Antwort.

TAK2004 hat geschrieben:
Du brauchst Datein mit .dll oder .a Endung.
Erstens sind dynamische Bibliotheken und 2. sind statische Bibliotheken.
Die suchreihenfolge des Compilers sieht wie folgt aus, finde in einen der Bibliotheksordner eine .dll file, wenn nicht vorhanden such eine .a.
Mitteilen tutst du das Linken, indem du in deinem Projekt rechtsklick->Properties->Build Taget->Target auswählen und Build options klicken->im Linker settings trägst du -lglew32 ein und unter Search directories->Linker-> gibst du den Pfad zu deiner a/dll File an und bei Compiler gibst du den Ordner mit dem Header an.


Hm, bin ich zu doof dafür? Auf der Website von glew finde ich irgendwie weder im Source-Download noch bei den Binaries eine Datei mit .a Endung.
Die einzige .dll die mitgeliefert wird ist im bin Ordner (beim Binaries Download) dabei - also die .dll die gebraucht wird um die Programme später auszuführen.
Die meinst du aber nicht, wenn du sagst das die .dll brauch, oder?
(Falls ja hab ich irgendwo nen anderen Fehler gemacht)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 19, 2009 21:22 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Das Package von der Seite enthält keine a file, die musst du selber compilieren, da sind nur die dynamische bibliothek(dll) dabei.
Die lib Datein, die dabei liegen sind für VSC++ notwendig.
Wenn du Statisch linken willst, dann musst du dir selber die a files compilieren, siehe dem gcc Befehl aus meinen letztem Post.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 20, 2009 06:22 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 27, 2005 12:44
Beiträge: 393
Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Hallo,

neu kompilieren ist nicht notwendig, es reicht auch die *.lib in lib*.a umzubenennen .

Viele Grüße
dj3hut1

_________________
Wenn Gauß heute lebte, wäre er ein Hacker.
Peter Sarnak, Professor an der Princeton University


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 27, 2009 19:53 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 25, 2005 16:00
Beiträge: 189
Programmiersprache: Java, C#
So, Sorry erstma das ich so lang gebraucht hab mit der Antwort.

Also, einfach umbenennen hat nicht funktioniert, er hat beim kompilieren des Projekts immer noch fehler angezeigt.

Den source neu kompilieren hat funktioniert, das Projekt kompiliert jetzt ohne Fehler...

Thx für die Hilfe :)


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


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.008s | 16 Queries | GZIP : On ]