我正在尝试使用OpenGL编写程序。我正在使用GLM头文件库来处理它的向量和矩阵函数,我遇到了一些非常奇怪的东西。
我有一个glm::vec3
我想用作对象的位置,所以我在头文件(glm::vec3 position;
)中声明它然后我想在对象构造函数中实际设置它(position = glm::vec3(0.0f, 0.0f, 0.0f)
)。当我尝试编译时,我得到 LNK2019 错误。
glm::vec3 position = glm::vec3(0.0f, 0.0f, 0.0f);
和
glm::vec3 position;
position = glm::vec3(0.0f, 0.0f, 0.0f);
第一个编译并运行绝对正常。
main.obj : error LNK2019: unresolved external symbol "public: struct
glm::tvec3<float,0> & __thiscall glm::tvec3<float,0>::operator=(struct
glm::tvec3<float,0> const &)" (??4?$tvec3@M$0A@@glm@@QAEAAU01@ABU01@@Z)
referenced in function _main
我可能遗漏了一些非常明显的东西,但我无法弄明白。我正在使用VS2010,如果这有任何区别。
答案 0 :(得分:0)
我自己一直在玩这个。似乎问题出在新版GLM上; 0.9.7.0。我将以前的每个版本都下载回0.9.5.4并且没有遇到这个问题。
由于新版本在不到一个月前上传,我想我可以假设它存在某种错误。