nigels-com / glew

The OpenGL Extension Wrangler Library
Other
2.58k stars 608 forks source link

Undefined references when compiling source #390

Closed sdfdger closed 10 months ago

sdfdger commented 10 months ago

OS: Windows 10 Compiler: MinGW Version: glew-2.2.0.zip include/GL: glew.h eglew.h glxew.h wglew.h

> gcc glew.c -w

x86_64-w64-mingw32/bin/ld.exe: ccdYRGyg.o:glew.c:(.text+0x555): undefined reference to `__imp_wglGetProcAddress'
x86_64-w64-mingw32/bin/ld.exe: ccdYRGyg.o:glew.c:(.text+0x590): undefined reference to `__imp_wglGetProcAddress'
x86_64-w64-mingw32/bin/ld.exe: ccdYRGyg.o:glew.c:(.text+0x5cb): undefined reference to `__imp_wglGetProcAddress'
x86_64-w64-mingw32/bin/ld.exe: ccdYRGyg.o:glew.c:(.text+0x606): undefined reference to `__imp_wglGetProcAddress'
x86_64-w64-mingw32/bin/ld.exe: ccdYRGyg.o:glew.c:(.text+0x657): undefined reference to `__imp_wglGetProcAddress'
x86_64-w64-mingw32/bin/ld.exe: ccdYRGyg.o:glew.c:(.text+0x692): more undefined references to `__imp_wglGetProcAddress' follow
x86_64-w64-mingw32/bin/ld.exe: ccdYRGyg.o:glew.c:(.text+0x30454): undefined reference to `__imp_wglGetCurrentDC'
x86_64-w64-mingw32/bin/ld.exe: ccdYRGyg.o:glew.c:(.text+0x304c0): undefined reference to `__imp_wglGetProcAddress'
x86_64-w64-mingw32/bin/ld.exe: ccdYRGyg.o:glew.c:(.text+0x304da): undefined reference to `__imp_wglGetProcAddress'
x86_64-w64-mingw32/bin/ld.exe: ccdYRGyg.o:glew.c:(.text+0x30525): undefined reference to `__imp_wglGetCurrentDC'
x86_64-w64-mingw32/bin/ld.exe: ccdYRGyg.o:glew.c:(.rdata$.refptr.glGetIntegerv[.refptr.glGetIntegerv]+0x0): undefined reference to `glGetIntegerv'
x86_64-w64-mingw32/bin/ld.exe: ccdYRGyg.o:glew.c:(.rdata$.refptr.glGetString[.refptr.glGetString]+0x0): undefined reference to `glGetString'

The ignored warnings are thousands of redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]

nigels-com commented 10 months ago

Try: -DGLEW_NO_GLU -DGLEW_STATIC

nigels-com commented 10 months ago

See: https://github.com/nigels-com/glew/blob/master/config/Makefile.msys

In particular: -lopengl32 -lgdi32 -luser32 -lkernel32

sdfdger commented 10 months ago

https://github.com/nigels-com/glew/issues/390#issuecomment-1676520462 https://github.com/nigels-com/glew/issues/390#issuecomment-1676521162

Thanks, -lopengl32 -lgdi32 -luser32 -lkernel32 -DGLEW_NO_GLU -DGLEW_STATIC works.