Prak1 Framework unter Windows/eclipse

Moderator: Graphische Datenverarbeitung 1

umfk
Neuling
Neuling
Beiträge: 5
Registriert: 26. Okt 2010 13:46

Prak1 Framework unter Windows/eclipse

Beitrag von umfk » 26. Okt 2010 13:54

Hallo Leute,

ich bekomm das Framework nicht so ganz zum Laufen, vielleicht kann mir ja jemand helfen, der die gleiche Konfiguration(Windows/eclipse) benutzt.

glut und glew sind installiert (und getestet), ich hab CMake benutzt (mit dem Eclipse MinGW Generator), wenn ich aber in eclipse die Makefile ausführe, bekomme ich folgende Fehler:

Code: Alles auswählen

**** Build of configuration Default for project prak1 ****

make 
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Workspace/prak1/build
Linking CXX executable main.exe
C:\MinGW\bin\g++.exe     -Wl,@CMakeFiles\main.dir\objects1.rsp  -o main.exe -Wl,--out-implib,libmain.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lGLEW32 C:\Windows\System32\glut32.dll -lglu32 -lopengl32 -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x16e): undefined reference to `_imp____glewGetProgramiv'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x1a4): undefined reference to `_imp____glewGetProgramInfoLog'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x210): undefined reference to `_imp____glewGetShaderiv'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x246): undefined reference to `_imp____glewGetShaderInfoLog'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x5cd): undefined reference to `_imp____glewCreateShader'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x5e6): undefined reference to `_imp____glewCreateShader'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x600): undefined reference to `_imp____glewShaderSource'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x630): undefined reference to `_imp____glewShaderSource'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x65f): undefined reference to `_imp____glewCompileShader'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x674): undefined reference to `_imp____glewCompileShader'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x689): undefined reference to `_imp____glewCreateProgram'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x699): undefined reference to `_imp____glewAttachShader'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x6b9): undefined reference to `_imp____glewAttachShader'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x6d8): undefined reference to `_imp____glewLinkProgram'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x6ed): undefined reference to `_imp____glewDeleteShader'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x702): undefined reference to `_imp____glewDeleteShader'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x722): undefined reference to `_imp____glewGetProgramiv'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x87c): undefined reference to `_imp____glewDeleteProgram'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x9cf): undefined reference to `_imp____GLEW_ARB_vertex_shader'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0x9d9): undefined reference to `_imp____GLEW_ARB_fragment_shader'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0xb8a): undefined reference to `_imp____glewUseProgram'
CMakeFiles/main.dir/main.cpp.obj:main.cpp:(.text+0xba1): undefined reference to `_imp____glewUseProgram'
collect2: ld returned 1 exit status
make[2]: *** [main.exe] Error 1
make[1]: *** [CMakeFiles/main.dir/all] Error 2
make: *** [all] Error 2
Bin für jeden Hinweis dankbar!

niewhner
Nichts ist wie es scheint
Beiträge: 23
Registriert: 17. Jun 2009 13:42

Re: Prak1 Framework unter Windows/eclipse

Beitrag von niewhner » 26. Okt 2010 14:02

Ich benutze Visual Studio und Windows und habe wohl den gleichen Fehler. Glut und glew sind installiert.

Code: Alles auswählen

Fehler	1	error LNK2001: Nicht aufgelöstes externes Symbol "__imp____glewGetProgramInfoLog".	C:\Users\Ich\Documents\Visual Studio 2010\Projects\GDV1\GDV1\main.obj	GDV1
Fehler	2	error LNK2001: Nicht aufgelöstes externes Symbol "__imp____glewGetProgramiv".	C:\Users\Ich\Documents\Visual Studio 2010\Projects\GDV1\GDV1\main.obj	GDV1
Fehler	3	error LNK2001: Nicht aufgelöstes externes Symbol "__imp____glewGetShaderInfoLog".	C:\Users\Ich\Documents\Visual Studio 2010\Projects\GDV1\GDV1\main.obj	GDV1
Fehler	4	error LNK2001: Nicht aufgelöstes externes Symbol "__imp____glewGetShaderiv".	C:\Users\Ich\Documents\Visual Studio 2010\Projects\GDV1\GDV1\main.obj	GDV1
.....

thomas_kalbe
Nerd
Nerd
Beiträge: 570
Registriert: 10. Jun 2006 14:58

Re: Prak1 Framework unter Windows/eclipse

Beitrag von thomas_kalbe » 26. Okt 2010 14:16

hm, die glew library wird irgendwie nicht gefunden.
Stellt mal sicher, ob GLEW32.lib oder .dll (Visual Studio) bzw. GLEW32.a (gcc) überhaupt existieren, und ob der
Linker den Pfad findet (im VS kann man die Ordner, in denen nach dlls gesucht wird, irgendwo spezifizieren, bei Eclipse geht das bestimmt auch irgendwie).

t.

tobiasp
Mausschubser
Mausschubser
Beiträge: 70
Registriert: 5. Okt 2008 23:08

Re: Prak1 Framework unter Windows/eclipse

Beitrag von tobiasp » 26. Okt 2010 14:43

Hatte das Problem auch: Ursache war, dass ich von GLEW die 64 bit Bibliothek hatte, das aber net mit meinem VS-Projekt kompatibel war und der Linker die lib-Datei ignoriert hatte. Nachdem ich die 32-bit Version runtergeladen hatte, lief alles :)

oliver_g
Mausschubser
Mausschubser
Beiträge: 62
Registriert: 17. Nov 2008 16:27

Re: Prak1 Framework unter Windows/eclipse

Beitrag von oliver_g » 26. Okt 2010 16:07

Bei mir hat Folgendes nach der Erstellung eines MSVC-Projekts mit cmake funktioniert:

Unter MSVC 10:
Header nach ...\Visual Studio 10\VC\include\GL
*.lib nach ...\Visual Studio 10\VC\lib
*.dll in beliebigem Ordner im Pfad

niewhner
Nichts ist wie es scheint
Beiträge: 23
Registriert: 17. Jun 2009 13:42

Re: Prak1 Framework unter Windows/eclipse

Beitrag von niewhner » 26. Okt 2010 16:13

Der Linker findet die Datei. Hab glut32.lib, opengl32.lib und glu32.lib eingebunden

Edit: Ich Idiot hab beim durchlesen meines Post bemerkt, dass ich ja glew vergessen habe. glew32-.lib eingebunden und schon gehts :P
Zuletzt geändert von niewhner am 26. Okt 2010 16:19, insgesamt 1-mal geändert.

umfk
Neuling
Neuling
Beiträge: 5
Registriert: 26. Okt 2010 13:46

Re: Prak1 Framework unter Windows/eclipse

Beitrag von umfk » 26. Okt 2010 16:19

Ich hab gelesen, dass die .dll auch unter MinGW funktionieren sollte, hab mir trotzdem mal ne .a kompiliert.
Habe auch den header in include/GL, die .lib und die .a in lib und die dll im Pfad. Klappt trotzdem nicht.

PS: Hab grad woanders das hier gefunden, hilft mir aber nicht:
Problem Solved, Glew lib not initialized at the right time :)
Sagt das jemandem was?

Benutzeravatar
Mergian
Mausschubser
Mausschubser
Beiträge: 48
Registriert: 7. Feb 2008 11:41

Re: Prak1 Framework unter Windows/eclipse

Beitrag von Mergian » 26. Okt 2010 17:02

Also ich hab Netbeans mit MinGW und das gleiche Problem gehabt.

Lösung bei mir war, anstelle der glew32.lib die glew32.dll in den lib Ordner kopieren und in den Projekteinstellungen unter Linker in folgender Reihenfolge (die ist wichtig!) die Libs eingebunden.

- glut32
- glu32
- opengl32
- glew32

umfk
Neuling
Neuling
Beiträge: 5
Registriert: 26. Okt 2010 13:46

Re: Prak1 Framework unter Windows/eclipse

Beitrag von umfk » 27. Okt 2010 21:25

Ich hab keine Ahnung warum der glew nicht gefunden hat, da die library am selben Ort wie alle anderen Libraries ist, aber ich hab jetzt einfach per Hand die build/CMakeFiles/main.dir/link.txt editiert und "-lglew32" durch den expliziten Pfad zu der glew32.dll ersetzt und es läuft. Nicht sehr elegant aber was solls. Danke an alle für die Hilfe.

Antworten

Zurück zu „Graphische Datenverarbeitung 1“