如何解决 DirectX 11 程序中"unresolved external symbol"错误?

How do I solve "unresolved external symbol" errors in a DirectX 11 program?

本文关键字:unresolved external symbol 错误 程序 何解决 解决 DirectX      更新时间:2023-10-16

我正在为学校做一个DirectX 11项目,我在做这件事的时候完全遵循了这本书。我一直在想,也许有些东西被贴上了错误的标签,但我仔细检查了我所有的文件,我所有的类名都很好(我相信它们很好),并仔细检查了我所有的头文件是如何设置的,一切都应该是好的,我仍然得到这个错误输出:

<>之前1> BlankDemo。外部符号"public: __thiscall DemoBase::DemoBase(void)"无法解析(??0DemoBase@@QAE@XZ)在函数"public: __thiscall BlankDemo::BlankDemo(void)"中引用(? ? 0 blankdemo@@qae@xz)1> BlankDemo。外部符号"public: virtual __thiscall DemoBase::~DemoBase(void)"(??1DemoBase@@UAE@XZ)在函数"public: virtual __thiscall BlankDemo::~BlankDemo(void)"中引用(? ? 1 blankdemo@@uae@xz)1>主要。obj: error LNK2019: external symbol "public: void __thiscall DemoBase::Shutdown(void)"(?Shutdown@DemoBase@@QAEXXZ)在函数_wWinMain@16中引用1>主要。obj: error LNK2019: unresolved external symbol "public: bool __thiscall DemoBase::Initialize(struct HINSTANCE__ *,struct HWND__ *)"(?Initialize@DemoBase@@ qae_npauhinstance__@ @ pauhwnd__@ @@@ z)在函数_wWinMain@16中引用1>C:Usersvaughndocumentsvisual studio 2010ProjectsBlankWindowDebugBlankWindow.exe:致命错误LNK1120: 4个未解决的外部之前

如何解决这个问题?

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