C++ ubuntu linux上的opengl-链接器错误:未定义引用

C++ ubuntu linux上的opengl-链接器错误:未定义引用,c++,linux,opengl,gcc,linker-errors,C++,Linux,Opengl,Gcc,Linker Errors,我只想从openGL编程开始,所以我从ubuntu的存储库中安装了freeglut3,并且安装了所有mesa软件包以及build essentials 后来,我复制了一个简单的 首先,我尝试用:gcc triangle.c-o triangle.o编译它; 但是,稍后,我在这里读到:我必须用-l链接库。 因此,我尝试使用gcc triangle.c-lglut-lGL-Wall-o triangle.o 两者都返回相同的错误: /tmp/ccKLT4ac.o: In function `main

我只想从openGL编程开始,所以我从ubuntu的存储库中安装了freeglut3,并且安装了所有mesa软件包以及build essentials

后来,我复制了一个简单的
首先,我尝试用:
gcc triangle.c-o triangle.o
编译它;
但是,稍后,我在这里读到:我必须用-l链接库。
因此,我尝试使用
gcc triangle.c-lglut-lGL-Wall-o triangle.o

两者都返回相同的错误:

/tmp/ccKLT4ac.o: In function `main':
triangle.c:(.text+0x2b): undefined reference to `glutInit'
triangle.c:(.text+0x37): undefined reference to `glutInitDisplayMode'
triangle.c:(.text+0x4b): undefined reference to `glutInitWindowSize'
triangle.c:(.text+0x57): undefined reference to `glutCreateWindow'
triangle.c:(.text+0x5c): undefined reference to `glewInit'
triangle.c:(.text+0x73): undefined reference to `glewGetErrorString'
triangle.c:(.text+0xaa): undefined reference to `glutDisplayFunc'
triangle.c:(.text+0xaf): undefined reference to `glutMainLoop'
collect2: error: ld returned 1 exit status
我已经尝试包括gl.h和glu.h库,尝试在cpp中使用许多不同的示例程序,。。。还有很多组合。它们都返回类似的错误

啊,在/usr/include中,我有所有的库:

akronix@ASJ-Netbook:~$ ls /usr/include/GL

freeglut_ext.h  glext.h      glu_mangle.h  glx.h         glxproto.h
freeglut.h      gl.h         glut.h        glxint.h      glxtokens.h
freeglut_std.h  gl_mangle.h  glxew.h       glx_mangle.h  internal
glew.h          glu.h        glxext.h      glxmd.h       wglew.h

通过将库放在最后一个位置来尝试编译

gcc triangle.c -Wall -o triangle -lglut -lGL 

您没有提到安装glew包,链接器指令也没有包括
-lGLEW
。即使解决了过量问题,在执行此操作之前,您也会遇到glew问题。在这两种情况下,库都在源代码之后,将
-Wall
-o
移出文件名是否确实解决了问题。另外,是否应该有一个
-c
参数来按照
*.o
约定编译对象文件?