windows下编译mingw版本的glew库

⌚Time: 2023-01-30 11:57:11

👨‍💻Author: Jack Ge

glew下载

https://glew.sourceforge.net/index.html

windows二进制版下来是MSVC版的库文件,.lib文件。而gcc并不能使用,需要重新进行编译。

下载源码版的glew文件,解压,进入到源码目录,打开cmd

第一步:编译glew


gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c

-Iinclude 指定编译过程中附加的头文件目录,即当前源码目录下的include文件夹

第二步:链接生成库文件


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

如遇下面的报错


 multiple definition of `DllMainCRTStartup@12'

那就更换第二步命令为:


gcc -nostdlib -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a    -o lib/glew32.dll src/glew.o -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32

最后生成的库文件glew32.dll和libglew32.dll.a,位于源码目录下的lib文件夹里面。glew32.dll是程序运行时需要的动态库文件,libglew32.dll.a是gcc进行编译时链接到的静态库文件

使用gcc编译时,用到include文件夹和lib文件夹,将他们放到别的目录比如D:\libs\glew

gcc的编译链接参数


-ID:\libs\glew\include -LD:\libs\glew\lib -lglew32