C - 使用 mingw32 在窗户上构建 glew 时"DllMainCRTStartup@12"的多重定义



我关注了这个主题:用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中定义。这就是你的问题。

相关内容

  • 没有找到相关文章

最新更新