使用 MinGW 在 Windows 上构建 GLEW:综合指南
使用 GLEW,这是一个无缝集成 OpenGL 和 WGL 函数的纯头文件库,使用 MinGW 增强 Windows 上 OpenGL 应用程序的开发。为了使用 MinGW 有效构建 GLEW,需要一组特定的命令和步骤。
首先,创建两个名为 lib 和 bin 的目录,分别用于存储库和可执行文件。然后,使用以下命令编译 GLEW 源文件:
gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c
接下来,构建共享库:
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
该命令创建libglew32.dll共享库和相应的导入库lib/libglew32.dll.a。
要创建静态库,请执行以下命令:
ar cr lib/libglew32.a src/glew.o
或者,要生成 pkg-config 文件,请使用以下命令:
sed \ -e "s|@prefix@|/usr|g" \ -e "s|@libdir@|/usr/lib|g" \ -e "s|@exec_prefix@|/usr/bin|g" \ -e "s|@includedir@|/usr/include/GL|g" \ -e "s|@version@|1.6.0|g" \ -e "s|@cflags@||g" \ -e "s|@libname@|GLEW|g" \ glew.pc
同样,使用以下命令构建 GLEW MX 库和可执行文件:
# GLEW MX library gcc -DGLEW_NO_GLU -DGLEW_MX -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.mx.o -c src/glew.c gcc -shared -Wl,-soname,libglew32mx.dll -Wl,--out-implib,lib/libglew32mx.dll.a -o lib/glew32mx.dll src/glew.mx.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 ar cr lib/libglew32mx.a src/glew.mx.o # GLEW MX pkg-config file sed \ -e "s|@prefix@|/usr|g" \ -e "s|@libdir@|/usr/lib|g" \ -e "s|@exec_prefix@|/usr/bin|g" \ -e "s|@includedir@|/usr/include/GL|g" \ -e "s|@version@|1.6.0|g" \ -e "s|@cflags@|-DGLEW_MX|g" \ -e "s|@libname@|GLEWmx|g" \ glewmx.pc # GLEW Visualinfo program gcc -c -O2 -Wall -W -Iinclude -o src/glewinfo.o src/glewinfo.c gcc -O2 -Wall -W -Iinclude -o bin/glewinfo.exe src/glewinfo.o -Llib -lglew32 -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 # GLEW Visualinfo program gcc -c -O2 -Wall -W -Iinclude -o src/visualinfo.o src/visualinfo.c gcc -O2 -Wall -W -Iinclude -o bin/visualinfo.exe src/visualinfo.o -Llib -lglew32 -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
通过以下这些根据说明,您可以在 Windows 上使用 MinGW 成功构建 GLEW,创建必要的库和可执行文件。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3