C++ glew问题(链接、崩溃)
我正在尝试在代码块中设置glew(在Windows上)。我正在静态链接它。 问题是有两个.lib文件C++ glew问题(链接、崩溃),c++,opengl,codeblocks,glew,C++,Opengl,Codeblocks,Glew,我正在尝试在代码块中设置glew(在Windows上)。我正在静态链接它。 问题是有两个.lib文件glew32.lib和glew32s.lib。当我链接glew32.lib时,我得到了对uuuu\glewGenBuffers的未定义引用(或除glewInit()之外的任何类似函数)。当我链接glew32s.lib时,一切编译都很好,但程序在glewInit()上崩溃(分段错误)。创建Opengl上下文,定义#GLEW_STATIC,从下载GLEW 我的测试计划: #include <io
glew32.lib
和glew32s.lib
。当我链接glew32.lib
时,我得到了对uuuu\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;
}
#包括
#定义GLEW_静态
#包括
#包括
使用名称空间std;
void initGL()
{
glutInitDisplayMode(GLUT_深度| GLUT_双精度| GLUT_RGBA);
位置(0,0);
GLUTINITWindowsSize(19201080);
}
int main(int argc,字符**argv)
{
glutInit(&argc,argv);
initGL();
测试窗口(“测试”);
GLenum err=glewInit();
如果(GLEW_OK!=错误)
{
不能只有在使用库的静态版本时才能定义GLEW_STATIC
。因此,如果这样做,请转到编译器设置面板,并在其他选项中添加-DGLEW_STATIC
另外,通过将glew32s
添加到链接器设置,确保正确链接了库
您还需要使用opengl32
链接到openGL。只有在使用库的静态版本glew32s.lib
时,才能定义GLEW_STATIC
。因此,如果这样做,请转到编译器设置面板,并在其他选项中添加-DGLEW_STATIC
另外,通过将glew32s
添加到链接器设置,确保正确链接了库
你还需要通过opengl32
链接到openGL。你只是在寻找一个在黑暗中进行有根据的猜测/拍摄的人?为什么不发布一些实际的代码?你的LIB是从哪里来的?你只是在寻找一个在黑暗中进行有根据的猜测/拍摄的人?为什么不发布一些实际的代码?你在哪里发布的你是从哪里得到你的LIB的?你说的是不是仍然有分段错误。我的链接器设置:glew32s glew32 openglu32 glu32 freeglutLink只是glew的静态版本。不是两者都有。链接的顺序很重要,请尝试:glew32s freeglut glu32 opengl32(在单独的行上).你刚才说的仍然存在分段错误。我的链接器设置:glew32s glew32 opengl32 glu32 FreeGLu32仅链接glew的静态版本。不是两者都链接。链接顺序很重要,请尝试:glew32s freeglut glu32 opengl32(在单独的行上)。