首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DirectX xnacollision

DirectX xnacollision
EN

Stack Overflow用户
提问于 2014-04-16 02:51:11
回答 2查看 512关注 0票数 0

我一直在VS2010的directX和C++中使用xnacollision,我一直收到这个错误。

代码语言:javascript
复制
Error   1   error LNK2019: unresolved external symbol "int __cdecl XNA::IntersectSphereSphere(struct XNA::Sphere const *,struct XNA::Sphere const *)" (?IntersectSphereSphere@XNA@@YAHPBUSphere@1@0@Z) referenced in function "public: virtual void __thiscall PhysicsApp::UpdateScene(float)" (?UpdateScene@PhysicsApp@@UAEXM@Z)   C:\Users\Andrew\Desktop\Physics 20 Percent Project\PhysicsDemo.obj  PhysicsDemo

当我这样做的时候

代码语言:javascript
复制
XNA::Sphere sphere1, sphere2;
sphere1.Radius = 1.0f;
sphere1.Center = XMFLOAT3(0.0f, 0.0f, 0.0f);
sphere2.Radius = 1.0f;
sphere2.Radius = XMFLOAT3(2.0f, 0.0f, 0.0f);
int collision = XNA::IntersectSphereSphere(&sphere1, &sphere2);

我已经包含了xnacollision.h。

EN

回答 2

Stack Overflow用户

发布于 2014-04-16 02:54:14

#include头文件并不是让这些东西正常工作所需要做的唯一的事情。您还必须链接到适当的.lib文件,这正是链接器所抱怨的。您需要检查您的链接器设置,并确保您的搜索路径是正确的,并且必要的外部依赖项已得到处理。

票数 0
EN

Stack Overflow用户

发布于 2014-12-02 05:06:34

XNACollision不仅仅是一个头文件。它既是一个头文件,也是一个cpp文件,作为Direct3D 9冲突示例的一部分在遗留的DirectX开发工具包中提供。它不是遗留的D3DX11库的一部分。

在Windows8.xSDK中,DirectXMath将XNACollision.h/.cpp中的冲突类型作为DirectXCollision.h包含在标准的include头中(它都是内联的,所以没有.cpp文件或.lib)。有一个使用它的Collision示例的更新版本。

参见Introducing DirectXMath

因为您使用的是D3DX11和XNAMath,所以很明显您使用的是遗留的DirectX SDK。请注意,这两种方法都已弃用。参见MSDNLiving without D3DX

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23092001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档