OpenGL Note : 在项目中包含 GLEW
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
(未定义的引用)这个错误。
参考文章
上一篇: 设计模式——代理/Delegate
下一篇: OpenGL创建窗口--1