2017-01-17 55 views
0

,而我上呈现在我的OpenGL项目中使用ftgl字体时,我遇到错误陈述未定义参考GLEW

g++ -o mygame Sample_GL3_2D.cpp glad.c -lGL -lglfw -ldl -lftgl -lSOIL -I /usr/include/freetype2 -L/usr/local/lib -lfreetype 
/usr/local/lib/libftgl.so: undefined reference to `__glewGenBuffers' 
/usr/local/lib/libftgl.so: undefined reference to `glewInit' 
/usr/local/lib/libftgl.so: undefined reference to `__glewBindVertexArray' 
/usr/local/lib/libftgl.so: undefined reference to `__glewBindBuffer' 
/usr/local/lib/libftgl.so: undefined reference to `__glewUniform3f' 
/usr/local/lib/libftgl.so: undefined reference to `__glewVertexAttribPointer' 
/usr/local/lib/libftgl.so: undefined reference to `__glewBufferData' 
/usr/local/lib/libftgl.so: undefined reference to `__glewDeleteBuffers' 
/usr/local/lib/libftgl.so: undefined reference to `__glewDeleteVertexArrays' 
/usr/local/lib/libftgl.so: undefined reference to `__glewGenVertexArrays' 
/usr/local/lib/libftgl.so: undefined reference to `__glewEnableVertexAttribArray' 

这些都是我在Makefile文件内容

all:mygame 

mygame: Sample_GL3_2D.cpp glad.c 
    g++ -o mygame Sample_GL3_2D.cpp glad.c -lGL -lglfw -ldl -lftgl -lSOIL -I /usr/include/freetype2 -L/usr/local/lib -lfreetype 
clean: 
    rm mygame 

貌似错误是由libftgl.so库引发。我已经在Ubuntu下使用glew软件包安装了GLEW。但不明白为什么它没有被引用。

+1

你不反抗glew,不是吗? – BDL

回答

0

您没有在编译/链接行上引用GLEW库。给g ++的-l标志告诉它告诉链接器该链接库例如-lftgl告诉它寻找ftgllibrary并链接它。

您不必-lGLEW(或-lglew,如果库是用小写字母命名),所以它没有链接。也看到这个答案 error undefined reference to `FTExtrudeFont::FTExtrudeFont(char const*)'

也许你们两个应该聚在一起,试着互相帮助,因为你似乎试图解决同样的问题(作业?)。