Du bist nicht angemeldet.

Werbeanzeige

1

27.06.2009, 16:39

VC8 GLFW Linkerfehler

Ich habe mir die bins zu glfw 2.6 runtergeladen. Wenn ich jetzt ein ganz simples Testprojekt erstelle, dort glfw.h inkludiere und dann eine beliebige Funktion von glfw aufrufe, bekomme ich beim kompilieren Linkerfehler (Funktion nicht gefunden). Ich linke also die Datei glfw.lib die ich runtergeladen habe, aber die Fehler verschwinden nicht.
Ich probiere btw. seit heute nochmal Visual Studio 2005 aus, in CodeBlocks hatte ich eigentlich nie so komische Linkerfehler.
In der Readme zu glfw stand, dass man auch noch andere Libs linken muss, ich habe alles was dort stand ausprobiert, aber nix funktionierte.
Was nun?
Lieber dumm fragen, als dumm bleiben!

dot

Supermoderator

Beiträge: 9 848

Wohnort: Graz

  • Private Nachricht senden

2

27.06.2009, 17:16

http://www.gamedev.net/community/forums/topic.asp?topic_id=316102

evtl. hilft das was!?

3

27.06.2009, 19:55

Ne, da war ich auch schon.
ich will ja auch GLFW nicht als dll haben sondern statisch linken.
Lieber dumm fragen, als dumm bleiben!

dot

Supermoderator

Beiträge: 9 848

Wohnort: Graz

  • Private Nachricht senden

4

27.06.2009, 20:00

Was für Fehlermeldungen kommen denn genau? Hast du auch libs für vs08!?

5

27.06.2009, 20:28

Zitat

Main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_glfwGetTime" in Funktion "_main".

Ich hab die Libs aus glfw-2.6.bin.WIN32.zip genommen, aus dem Unterordner lib-msvc. Von verschiedenen VC Versionen ist da nix. In dem Ordner waren die Libs für die dynamische und die statische Version, wobei ich halt die statische benutzen will.
Und es ist ja nicht VS08 sondern VS 2005, die manchmal auch Version 8 heißt.
Lieber dumm fragen, als dumm bleiben!

dot

Supermoderator

Beiträge: 9 848

Wohnort: Graz

  • Private Nachricht senden

6

27.06.2009, 20:51

Und du hast die Bibliotheken auch sicher richtig gelinkt?
Ich würde sonst vielleicht ein Problem mit dem Name Mangling vermuten (wobei der glfw Header aber OK aussieht). Schau mal obs was ändert wenn du das Ding händisch deklarierst:

C-/C++-Quelltext

1
extern "C" double glfwGetTime();

7

27.06.2009, 21:24

Nope, das ändert auch nix. Gelinkt hab ich es einfach in dem ich bei Projekt/Eigenschaften/Linker/Eingabe/ZusätzlicheEingaben eingegeben habe: "glfw.lib opengl32.lib user32.lib".
Die Reihenfolge hab ich auch schon verändert, bringt auch nix :(

Vielleicht funktioniert die fertige .lib ja wirklich nicht so gut, ich werde mal versuchen, ob ich das Ding selber kompiliert kriegen. Bei Codeblocks+MinGW war das alles irgendwie kein Problem, aber ich kann mir auch nicht wirklich vorstellen, dass es an VC liegt.
Lieber dumm fragen, als dumm bleiben!

8

28.06.2009, 15:57

Ich habe die Lib für MinGW von libGlfw.a in Glfw.lib umbenannt und damit die ursprüngliche lib von VC beschrieben.
Jetzt konnte ich das kompilieren, also hat das wohl irgendwie funktioniert.

Jetzt kommt aber direkt das nächste Problem:
Klick
Lieber dumm fragen, als dumm bleiben!

Werbeanzeige