【发布时间】:2014-10-22 12:48:11
【问题描述】:
我有这行代码和以下库
- gl\glew.h
- gl\GL.h
- gl\glu.h
- gl\wglew.h
- glm/glm.hpp
- glm/gtc/matrix_transform.hpp
- glm/gtc/matrix_transform.hpp
- glm/gtc/type_ptr.hpp
- glm/gtx/transform.hpp
- glm/gtc/quaternion.hpp
- glm/gtx/quaternion.hpp
- glm/gtx/compatibility.hpp
方向属性是glm::mat4,fInterpolate 是浮点数。
finalJoint.Orientation = glm::mix(joint0.Orientation, joint1.Orientation, fInterpolate);
导致此错误
错误 3 错误 LNK2019:无法解析的外部符号“struct glm::detail::tmat4x4 __cdecl glm::mix,float>(struct glm::detail::tmat4x4 const &,struct glm::detail::tmat4x4 const &,float const &)" (??$mix@U?$tmat4x4@M@detail@glm@@M@glm@@YA?AU?$tmat4x4@M@detail@0@ABU120@0ABM@Z) 在函数“public: void __thiscall”中引用 saragan::cSaaganMesh::InterpolateMesh(struct keyFrame,struct 关键帧,浮动)“ (?InterpolateMesh@cSaraganMesh@saragan@@QAEXUkeyFrame@@0M@Z) D:\git\TestBed\TestBed\ObjLoader.lib(cSaraganMesh.obj) TestBed
我试过glm:quat,但我得到了同样的错误;我让它在另一个项目中工作,但找不到不同之处,相同的库和预处理器以相同的顺序?
【问题讨论】:
-
@BenjaminBannier 不应该有任何链接,它只是一个标头库
-
@Saagan 我找不到 mat mix 的定义,但你能发布你在尝试混合 quats 时遇到的错误吗?因为也许你需要调整混合浮点类型(half、float 或 double 可能需要匹配 hquat、quat 或 dquat 类型),尽管文档说你不应该这样做
-
嗯,关于 mat4 时,quat 的错误消失了...将在主要评论中发布主要修复/解决方法以征求意见