我关注了这个主题:用mingw在windows上构建glew,但这里出现了问题:
gcc-shared-Wl,-soname,libglew32.dll-Wl,-out implib,lib/libglew32.dll.a-o lib/glew32.dll src/glew.o-L/mingw/lib-lglu32-lopeng32-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-lopeng32-lgdi32-luser32-lkernel32src/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退出状态
谢谢你的帮助。
您需要链接到-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中定义。这就是你的问题。