Moin EE,
Ich hab schon ewig gesucht, probiert und gemacht, aber nichts will funktionieren.
Eigentlich ist es ganz einfach: Ich habe in VisualStudio ein OpenGL Projekt, welches glew importiert.
Deshalb gebe ich auch die glew.lib in den Abhängigkeiten in VS an. Ich habe verschiedenste Quellen ausprobiert - aktuell habe ich wieder die von
glew.sourceforge.net
Die stellen auch die Win-Binaries bereit:
Download
Jetzt habe ich aber folgendes Problem:
Visual Studio-Log:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| 1>------ Erstellen gestartet: Projekt: Jumper, Konfiguration: Debug Win32 ------ 1>Jumper.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glewInit@0" in Funktion ""void __cdecl init(void)" (?init@@YAXXZ)". 1>Jumper.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__imp____glewBindBuffer". 1>Jumper.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__imp____glewBufferData". 1>Jumper.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__imp____glewGenBuffers". 1>C:\Projects\VisualStudio\Jumper\Debug\Jumper.exe : fatal error LNK1120: 4 nicht aufgelöste Externe 1>Die Erstellung des Projekts "Jumper.vcxproj" ist abgeschlossen -- FEHLER. ========== Erstellen: 0 erfolgreich, 1 fehlerhaft, 0 aktuell, 0 übersprungen ========== |
Es sieht ja fast so aus als würde ich die lib nicht verlinken, aber sie steht in den Projektabhängigkeiten drin.
Ich habe auch schon dieses #pragma linken probiert - funkt auch nicht.
im Quellcode selber importiere ich Folgendes:
C++-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| #include "targetver.h"
#include <stdio.h> #include <tchar.h> #include <stdlib.h> #include <stdint.h> #include <windows.h> #include <windows.h>
#include <GL/glew.h> #include <glm/glm.hpp> #include <GLFW/glfw3.h>
#include <vector>
#include <assimp/Importer.hpp> #include <assimp/scene.h> #include <assimp/postprocess.h> |
Zusätzliche Abhängigkeiten: $(LIB32) -> C:\Dev\Libs\x86\
Quelltext
1: 2: 3: 4: 5:
| $(LIB32)OpenGL32.Lib; $(LIB32)glew32s.lib; $(LIB32)glfw3.lib; $(LIB32)assimp.lib; %(AdditionalDependencies) |
mein C:\Dev\Libs\x86 Verzeichnis:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| $ ls -l /c/Dev/Libs/x86 total 7021 -rw-r--r-- 1 user Administratoren 19858 Nov 27 18:43 OpenAL32.lib -rw-r--r-- 1 user Administratoren 76920 Sep 28 16:34 OpenGL32.Lib -rw-r--r-- 1 user Administratoren 42698 Aug 30 2015 SDL.lib -rw-r--r-- 1 user Administratoren 147978 Dec 27 20:50 assimp.lib -rw-r--r-- 1 user Administratoren 2694592 Jun 25 2013 freeglut.lib -rw-r--r-- 1 user Administratoren 1514462 Jun 20 2013 glew.lib -rw-r--r-- 1 user Administratoren 2443636 Dec 27 20:30 glew32s.lib -rw-r--r-- 1 user Administratoren 245676 Oct 20 2016 glfw3.lib |
Außerdem kam noch ein weiterer Fehler
Quelltext
1:
| 1>LINK : warning LNK4098: Standardbibliothek "MSVCRT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden. |
den ich dann in der Kategorie 'Befehlszeile' in VS ausgeschalten habe:
/NODEFAULTLIB:MSVCRT
Ich hoffe ich habe alles wesentliche angegeben und dass mir jemand sagen kann was ich vergessen habe. Es hat ja seltsamerweise schonmal funktioniert. Nur musste ich meine lib und dll Sammlung mal in 32 und 64 Bit aufteilen und sozusagen alles neu herunterladen - leider hat offensichtlich nicht alles geklappt wie ich es wollte...
Danke im Vorraus
Symbroson
most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)