如何在DirectX 11程序中解决“未解决的外部符号”错误?

时间:2011-10-26 04:42:02

标签: c++ directx

我正在为学校制作一个DirectX 11项目,在这样做的时候,我彻底关注了这本书。我一直在想,也许有些东西被标记错了但是我仔细检查了我的所有文件,我的所有班级名称都很好(我相信它们很好)并仔细检查我的所有头文件是如何设置的,一切都应该没问题我仍然会得到这个错误输出:

1>BlankDemo.obj : error LNK2019: unresolved external symbol "public: __thiscall DemoBase::DemoBase(void)" (??0DemoBase@@QAE@XZ) referenced in function "public: __thiscall BlankDemo::BlankDemo(void)" (??0BlankDemo@@QAE@XZ)
1>BlankDemo.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall DemoBase::~DemoBase(void)" (??1DemoBase@@UAE@XZ) referenced in function "public: virtual __thiscall BlankDemo::~BlankDemo(void)" (??1BlankDemo@@UAE@XZ)
1>main.obj : error LNK2019: unresolved external symbol "public: void __thiscall DemoBase::Shutdown(void)" (?Shutdown@DemoBase@@QAEXXZ) referenced in function _wWinMain@16
1>main.obj : error LNK2019: unresolved external symbol "public: bool __thiscall DemoBase::Initialize(struct HINSTANCE__ *,struct HWND__ *)" (?Initialize@DemoBase@@QAE_NPAUHINSTANCE__@@PAUHWND__@@@Z) referenced in function _wWinMain@16
1>C:\Users\vaughn\documents\visual studio 2010\Projects\BlankWindow\Debug\BlankWindow.exe : fatal error LNK1120: 4 unresolved externals

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

显然,你要么没有从DemoBase类(包括它的构造函数和析构函数)实现一些方法,要么你没有将实现文件包含在要编译或链接的文件列表中你的计划。实现它们,然后确保您已将源文件包含在项目中。

答案 1 :(得分:0)

此错误似乎来自链接器。确保构建系统知道所需的库(visual studio?)

看一下类似问题的链接。 1>main.obj : error LNK2001: unresolved external symbol _D3D10CreateDeviceAndSwapChain@32

HTH