BulletPhysics:错误 LNK2001:未解析的外部符号 [重复]

BulletPhysics: Error LNK2001: unresolved external symbol [duplicate]

提问人:Michael Thumm 提问时间:6/10/2015 更新时间:6/10/2015 访问量:2197

问:

我尝试完成本教程以使用 Bullet Physics 创建一个测试应用程序。我遵循了每一步,没有改变其他任何东西。操作系统是Windows 8.1(64位),Visual Studio 2013。当我尝试调试或发布时,出现以下错误:

子弹测试应用.cpp

#include "stdafx.h"
#include "btBulletDynamicsCommon.h"

int _tmain(int argc, _TCHAR* argv[])
{
btBoxShape* box = new btBoxShape(btVector3(1, 1, 1));
return 0;
}

调试

1>BulletTestApp.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void * __cdecl btAlignedAllocInternal(unsigned int,int)" (?btAlignedAllocInternal@@YAPAXIH@Z)" in Funktion ""public: static void * __cdecl btBoxShape::operator new(unsigned int)" (??2btBoxShape@@SAPAXI@Z)".
1>BulletTestApp.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl btAlignedFreeInternal(void *)" (?btAlignedFreeInternal@@YAXPAX@Z)" in Funktion ""public: static void __cdecl btBoxShape::operator delete(void *)" (??3btBoxShape@@SAXPAX@Z)".
1>BulletTestApp.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall btBoxShape::btBoxShape(class btVector3 const &)" (??0btBoxShape@@QAE@ABVbtVector3@@@Z)" in Funktion "_wmain".

释放

1>BulletTestApp.obj : error LNK2001: Nicht aufgelöstes externes Symbol     ""void * __cdecl btAlignedAllocInternal(unsigned int,int)" (?btAlignedAllocInternal@@YAPAXIH@Z)".
1>BulletTestApp.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl btAlignedFreeInternal(void *)" (?btAlignedFreeInternal@@YAXPAX@Z)".
1>BulletTestApp.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: __thiscall btBoxShape::btBoxShape(class btVector3 const &)" (??0btBoxShape@@QAE@ABVbtVector3@@@Z)"

而“Nicht aufgelöstes externes Symbol”是“未解析的外部符号”。如何解决此问题?

C++ 未解析的外部 项目符号物理 LNK2001

评论


答:

1赞 Semjon Mössinger 6/10/2015 #1

此错误意味着函数(例如。 ) 在标头中找到,但未找到实现(源代码)。您需要实现此函数的 或(或者可能是文件)。此文件必须位于项目已知的文件夹中。链接器找不到这些文件,因此会发生链接器错误。 以下帖子可能会有所帮助:如何在 Visual Studio 中链接 DLLbtAlignedAllocInternal(...).lib.dll.cpp

编辑:您应该尝试正确包含所有配置的附带的Visual Studio项目:...\bullet-2.81-rev2613\build\vs2010。VS 2013 会自动将其导入到较新版本。

评论

0赞 Michael Thumm 6/16/2015
除了添加项目符号库生成的项目文件外,还必须将 .lib 文件包含在我自己的项目中。谢谢你的提示!