前言:.lib - Microsoft Visual Studio 的静态库格式 .a - MinGW/GCC 的静态库格式 .dll - 动态链接库(两者通用)
1、glew下载
官方地址: https://glew.sourceforge.net/index.html
windows二进制版下来是MSVC版的库文件,.lib文件。而gcc并不能使用,需要重新进行编译。

下载源码版的glew文件,解压,进入到源码目录,打开cmd
2、编译glew
步骤1:修改 src/glew.c 文件
打开 src/glew.c 文件
找到 DllMainCRTStartup 函数(大约在文件末尾附近)
注释掉整个函数:
复制
c
// 注释掉这段代码(大约在 17513 行附近)
/*
int __stdcall DllMainCRTStartup(void* instance, unsigned reason, void* reserved)
{
// 函数内容...
return TRUE;
}
*/
步骤2:使用标准链接命令
现在可以使用标准的链接命令,无需 -nostdlib:
步骤3:清理之前的文件
del src\glew.o
del lib\glew32.dll
del lib\libglew32.dll.a
步骤4:重新编译源文件
gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -minline-all-stringops -o src/glew.o -c src/glew.c
步骤5:链接生成 DLL(标准方式,无需 nostdlib)
gcc -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
将生成的文件放到mingw对应的文件夹下
最后生成的库文件glew32.dll和libglew32.dll.a,位于源码目录下的lib文件夹里面。glew32.dll是程序运行时需要的动态库文件,libglew32.dll.a是gcc进行编译时链接到的静态库文件

include 对应 include
lib 对应 lib
bin 对应bin