Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.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++ 有许多过剩的错误_C++_Opengl_Glut_Freeglut - Fatal编程技术网

C++ 有许多过剩的错误

C++ 有许多过剩的错误,c++,opengl,glut,freeglut,C++,Opengl,Glut,Freeglut,我已找到此代码,想在我的机器上试用: #include <GL/freeglut.h> static void RenderSceneCB() { glClear(GL_COLOR_BUFFER_BIT); glutSwapBuffers(); } static void InitializeGlutCallbacks() { glutDisplayFunc(RenderSceneCB); } int main(int argc, char** arg

我已找到此代码,想在我的机器上试用:

#include <GL/freeglut.h>

static void RenderSceneCB()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glutSwapBuffers();
}

static void InitializeGlutCallbacks()
{
    glutDisplayFunc(RenderSceneCB);
}


int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA);
    glutInitWindowSize(1024, 768);
    glutInitWindowPosition(100, 100);
    glutCreateWindow("Tutorial 01");

    InitializeGlutCallbacks();

    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);

    glutMainLoop();
    
    return 0;
}
#包括
静态空心渲染器cenebc()
{
glClear(GLU颜色缓冲位);
glutSwapBuffers();
}
静态void InitializeGlutCallbacks()
{
glutDisplayFunc(RenderSceneCB);
}
int main(int argc,字符**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
GLUTINITWindowsSize(1024768);
位置(100100);
创建窗口(“教程01”);
初始化glutcallbacks();
glClearColor(0.0f、0.0f、0.0f、0.0f);
glutMainLoop();
返回0;
}
我得到了这些错误:

g++教程01.cpp

/tmp/ccOoXvqJ.o:在函数“renderscenebc()”中:

tutorial01.cpp:(.text+0xa):对“glClear”的未定义引用

tutorial01.cpp:(.text+0xf):对“glutSwapBuffers”的未定义引用

/tmp/ccOoXvqJ.o:在函数'InitializeGlutCallbacks()'中:

tutorial01.cpp:(.text+0x1f):对“glutDisplayFunc”的未定义引用

/tmp/ccOoXvqJ.o:在函数“main”中:tutorial01.cpp:(.text+0x43):

对“glutInit”教程01.cpp:(.text+0x4d)的未定义引用:

对“glutInitDisplayMode”的未定义引用

tutorial01.cpp:(.text+0x5c):未定义对的引用

`GLUTINITWindowsSize'tutorial01.cpp:(.text+0x6b):未定义的引用

至“glutInitWindowPosition”教程01.cpp:(.text+0x75):未定义

参考'glutCreateWindow'教程01.cpp:(.text+0x8b):未定义

参考'glClearColor'教程01.cpp:(.text+0x90):未定义

对“glutMainLoop”集合2的引用:ld返回1退出状态


我想我已经成功地在我的机器上安装了freeglut3 dev。你能告诉我为什么我会犯这么多错误吗?我正在使用Ubuntu 12.04。

这些是Glut和OpenGL的链接器错误。链接器是一种软件,它尝试将所有对象文件链接在一起以获得exe


您需要将它们(OpenGl和Glut)与您的项目链接起来。谷歌有很多答案=)

这些是Glut和OpenGL的链接器错误。链接器是一种软件,它尝试将所有对象文件链接在一起以获得exe


您需要将它们(OpenGl和Glut)与您的项目链接起来。Google有很多答案=)

您看到的是链接器错误,即编译器处理的代码已成功转换为编译单元。现在,链接器试图创建一个可执行的程序,但在整理编译单元的松散部分(即对GLUT和OpenGL符号的引用)时遇到了问题。除了编译单元和标准库之外,您还必须告诉链接器还有什么地方可以查看


由于您的错误消息看起来像GCC生成的,我建议您将
-lGL-lglut
添加到编译器的命令行。

您看到的是链接器错误,即编译器处理的代码已成功转换为编译单元。现在,链接器试图创建一个可执行的程序,但在整理编译单元的松散部分(即对GLUT和OpenGL符号的引用)时遇到了问题。除了编译单元和标准库之外,您还必须告诉链接器还有什么地方可以查看


由于您的错误消息看起来像GCC生成的,我建议您将
-lGL-lglut
添加到编译器的命令行。

我下载了
freeglut
并使用MinGW在我的代码::块中编译代码,我发现您的问题在于库,您需要链接
libopengl32.a
libfreeglut.a
,以便程序可以运行它。

我下载了
freeglut
并使用MinGW在我的代码::块中编译代码,我发现您的问题在于库,您需要链接
libopengl32.a
libfreeglut.a
,以便程序可以运行它。

您不仅需要安装glut,还需要链接它的库。你应该在你的问题中添加一些关于你是如何构建你的程序的内容,因为这是可能出现错误的地方。是的,我必须添加“-lglut”。谢谢。你不仅需要安装glut,还需要链接它的库。你应该在你的问题中添加一些关于你是如何构建你的程序的内容,因为这是可能出现错误的地方。是的,我必须添加“-lglut”。谢谢