0
虽然我正在编译我的opengl代码,我面临这个错误。如何删除它?错误未定义引用`FTExtrudeFont :: FTExtrudeFont(char const *)'
all: sample2D
sample2D: Sample_GL3_2D.cpp glad.c
g++ -o sample2D Sample_GL3_2D.cpp glad.c -lGL -lglfw -ldl -std=c++11
clean:
rm sample2D
这是我的Makefile 的内容和我的渲染字体
const char* fontfile = "Monaco.ttf";
GL3Font.font = new FTExtrudeFont(fontfile); // 3D extrude style rendering
if(GL3Font.font->Error())
{
cout << "Error: Could not load font `" << fontfile << "'" << endl;
glfwTerminate();
exit(EXIT_FAILURE);
}
// Create and compile our GLSL program from the font shaders
fontProgramID = LoadShaders("fontrender.vert", "fontrender.frag");
GLint fontVertexCoordAttrib, fontVertexNormalAttrib, fontVertexOffsetUniform;
fontVertexCoordAttrib = glGetAttribLocation(fontProgramID, "vertexPosition");
fontVertexNormalAttrib = glGetAttribLocation(fontProgramID, "vertexNormal");
fontVertexOffsetUniform = glGetUniformLocation(fontProgramID, "pen");
GL3Font.fontMatrixID = glGetUniformLocation(fontProgramID, "MVP");
GL3Font.fontColorID = glGetUniformLocation(fontProgramID, "fontColor");
GL3Font.font->ShaderLocations(fontVertexCoordAttrib, fontVertexNormalAttrib, fontVertexOffsetUniform);
GL3Font.font->FaceSize(1);
GL3Font.font->Depth(0);
GL3Font.font->Outset(0, 0);
GL3Font.font->CharMap(ft_encoding_unicode);
三江源但现在我面临的一个错误'符号查找错误:/usr/local/lib/libftgl.so.2:未定义的符号:glad_glGenTextures' – nike
你明白的符号,库的概念和它们是如何解决?如果不是的话,我建议读一读。 lib之后的符号必须通过链接后的代码来解析,例如glfw使用GL,所以必须链接出现在它之前。你有的g ++系实际上是2个阶段;编译源代码,然后链接目标文件。 TBH我从来没有试过用源文件解决lib依赖问题,所以我会按照标准模式编译glad.c到一个库,然后在ftgl之后进行链接。 –