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之後進行鏈接。 –