Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ glew问题(链接、崩溃)_C++_Opengl_Codeblocks_Glew - Fatal编程技术网

C++ glew问题(链接、崩溃)

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

我正在尝试在代码块中设置glew(在Windows上)。我正在静态链接它。 问题是有两个.lib文件
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(在单独的行上)。