由于我无法理解的原因,当静态链接时,glew将无法正常工作。是否有一种方法可以将glew.h、glxew.h、wglew.h和glew.c源文件简单地包含到我的项目中并使用呢?
#include "glew.h"
替代
#include <glew.h>
每当我尝试时,就会出现一堆警告信息,例如:
warning C4273: '__WGLEW_NV_render_depth_texture' : inconsistent dll linkage
由于我无法理解的原因,当静态链接时,glew将无法正常工作。是否有一种方法可以将glew.h、glxew.h、wglew.h和glew.c源文件简单地包含到我的项目中并使用呢?
#include "glew.h"
替代
#include <glew.h>
warning C4273: '__WGLEW_NV_render_depth_texture' : inconsistent dll linkage
你看过GLEW的安装/构建页面了吗?
http://glew.sourceforge.net/install.html
如果你正在静态地构建它(听起来像是这样),在包含glew.h之前需要定义GLEW_STATIC宏(否则它将无法编译)。最简单的方法是向你的项目添加一个选项;或者,如果你很固执,可以这样做:
#define GLEW_STATIC
#include "glew.h"
从GLEW 安装页面中得知:
在Windows平台上,如果要构建静态库或可执行文件,需要定义GLEW_STATIC预处理器标记;如果要构建动态链接库,则需要定义GLEW_BUILD预处理器标记。此外,在代码中需要将<GL/glew.h>和<GL/wglew.h>替换为<GL/glew.h>和<GL/gl.h>。还需要设置适当的包含标志(-I)来告诉编译器它们的位置。
-I/path/to/glew
。 - Chris