我遵循了这个话题:Building glew on windows with mingw但是这里出了点问题:
gcc -shared -Wl,-soname,libglew32.dll -Wl, - out-implib,lib / libglew32.dll.a -o lib / glew32.dll src / glew.o -L / mingw / lib - lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
我收到此错误:
C:\ MinGW \ dev_lib \ glew-2.0.0> gcc -shared -Wl,-soname,libglew32.dll -Wl, - out-implib,lib / libglew32.dll.a -o lib / glew32。 dll src / glew.o -L / mingw / lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 src / glew.o:glew.c :(。text + 0x28f80):`DllMainCRTStartup @ 12'的多重定义 c:/ mingw / bin /../ lib / gcc / mingw32 / 4.9.3 /../../../ dllcrt2.o :(。text + 0x60):首先在这里定义 collect2.exe:错误:ld返回1退出状态
感谢您的帮助。
答案 0 :(得分:7)
您需要链接-nostdlib
选项,如下所示:
gcc -nostdlib -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
Glew定义了DllMainCRTStartup,它也在CRT中定义。因此你的问题。