欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

OpenGL Note : 在项目中包含 GLEW

程序员文章站 2022-07-04 11:06:47
...

GLEW 可以从官网下载,可以选择下载源码自行编译,或选择下载二进制版本。

使用GLEW的静态版本glew32s.lib(注意这里的“s”),将库文件添加到你的库目录,将include内容添加到你的include目录。接下来,在VS的链接器选项里加上glew32s.lib。注意GLFW3(默认)也是编译成了一个静态库。

此处下载二进制版本,解压后将 lib 库文件添加到库目录,将 include 内容添加到 include 目录。接下来,选择使用 GLEW 的静态版本 glew32s.lib (注意这里的“s”),在VS的链接器选项里加上glew32s.lib。注意GLFW3(默认)也是编译成了一个静态库。

静态(Static)链接是指编译时就将库代码里的内容整合进你的二进制文件。优点就是你不需要管理额外的文件了,只需要发布你单独的一个二进制文件就行了。缺点就是你的可执行文件会变得更大,另外当库有升级版本时,你必须重新进行编译整个程序。

动态(Dynamic)链接是指一个库通过.dll或.so的方式存在,它的代码与你的二进制文件的代码是分离的。优点是使你的二进制文件大小变小并且更容易升级,缺点是你最终发布程序时必须带上这些DLL。

若要选择使用静态链接 GLEW,必须在包含 GLEW 头文件之前定义预处理器宏 GLEW_STATIC

#define GLEW_STATIC
#include <GL/glew.h>

若要选择使用动态链接,那么你可以省略这个宏。但是记住使用动态链接的话你需要拷贝一份.DLL文件到你的应用程序目录。

对于用GCC编译的Linux用户建议使用这个命令行选项 -lGLEW -lglfw3 -lGL -lX11 -lpthread -lXrandr -lXi 。没有正确链接相应的库会产生 undefined reference(未定义的引用)这个错误。


参考文章