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”。谢谢