然而,它给了我这个:
错误2错误LNK2019:未解析的外部符号 函数“public:void __thiscall Texture2D :: Bind(unsigned int)”中引用了_ imp _glBindTexture @ 8 (?Bind @ Texture2D @@ QAEXI @ Z)Texture.obj Licenta
...以及关于OpenGL纹理函数的许多其他未解决的外部符号错误。但它没有抱怨这个:
glBindVertexArray(m_VAO);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_Buffers[INDEX_BUFFER]);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(Indices[0]) * Indices.size(), &Indices[0], GL_STATIC_DRAW);
或者这个:
glDrawElementsBaseVertex(GL_TRIANGLES,
m_Entries[i].NumIndices,
GL_UNSIGNED_INT,
(void*)(sizeof(unsigned int) * m_Entries[i].BaseIndex),
m_Entries[i].BaseVertex);
那么,这笔交易是什么?如果一个gl *函数调用链接失败,那么ALL不会失败吗?
答案 0 :(得分:11)
glBindTexture是一个“核心”OpenGL功能。此函数驻留在opengl32.dll中,因此只需将opengl32.lib添加到链接器输入中。
glDrawElementsBaseVertex和glBindVertexArray是扩展,GLEW将它们定义为函数指针(在运行时完成动态后期绑定),因此没有“未解析的符号”错误。
答案 1 :(得分:0)
您需要在链接器输入中包含该库。
对于VS: