我正在尝试在代码块(Windows上)中设置glew。我是静态地连接它。问题是有两个.lib文件glew32.lib和glew32s.lib。当我链接glew32.lib时,我得到了undefined reference to ___glewGenBuffers (或除glewInit()之外的任何类似函数)。当我链接glew32s.lib时,一切都编译得很好,但是程序崩溃(分段错误)与glewInit()联机。创建Opengl上下文,定义#GLEW_STATIC,从这里下载glew。
我的测试程序:
#include <iostream>
#define GLEW_STATIC
#include <GL/glew.h>
#include <GL/freeglut.h>
using namespace std;
void initGL()
{
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(0,0);
glutInitWindowSize(1920,1080);
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
initGL();
glutCreateWindow("TEST");
GLenum err=glewInit();
if (GLEW_OK != err)
{
cout<<glewGetErrorString(err)<<endl;
}
GLuint foo[2];
glGenBuffers(2,foo);
return 0;
}知道我做错什么了吗?
发布于 2015-10-24 20:03:49
只有在使用库GLEW_STATIC的静态版本时才定义glew32s.lib。因此,如果需要,请转到编译器设置面板,以及添加-DGLEW_STATIC的其他选项。
还要确保通过将glew32s添加到链接器设置来正确链接库。
您还需要用opengl32链接到opengl32。
https://stackoverflow.com/questions/33322071
复制相似问题