我只想从openGL编程开始,所以我从ubuntu的存储库安装了freeglut3,我安装了所有的mesa软件包,以及build-essentials。
后来,我复制了openGL wiki的一个简单例子
首先,我尝试用gcc triangle.c -o triangle.o
编译它;
但是,稍后,我在这里读到:Linker error : undefined reference to symbol 'glOrtho'我必须将库与-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
答案 0 :(得分:5)
尝试通过将库放在最后的
进行编译gcc triangle.c -Wall -o triangle -lglut -lGL