函数中引用的未解析的外部符号

时间:2011-09-23 12:29:56

标签: c++

我意识到在没有为您提供大量代码的情况下,这是一个很难回答的问题(我会尽量让您免除)。

基本上我在X类中得到了这个错误,其中#includes了Y类标题。 Y类标题有三个getter定义

// Getters
static ID3D10Device* PDevice();
static ID3D10Buffer* PBuffer();
static ID3D10Buffer* IBuffer();

我得到三个相同的错误,都发生在X类中。所以基本上错误是:

  

函数中引用的未解析的外部符号ID3D10Device * PDevice()(类X的构造函数)

抱歉,如果那有点模糊。知道为什么会这样吗?我用谷歌搜索了它,但我只能对这个错误是什么做出有根据的猜测。

3 个答案:

答案 0 :(得分:6)

首先,这是一个链接器错误。 此链接器错误意味着找不到错误名称PDevice等。

你能确定你有一个与定义相匹配的函数的实现吗? 此外,可能很明显,但只是检查你实际上有一个实现。 如果您的实现位于外部库中,请确保已在链接器中包含其他库。

希望有所帮助!

答案 1 :(得分:2)

确保将包含类Y的定义和实现的文件添加到项目中,以便链接器在Y.o文件中找到符号

答案 2 :(得分:1)

确保正确设置依赖项(添加lib文件)。在Visual Studio中,您可以通过 Properties - >来完成此操作。链接器 - >输入 - >附加依赖。在文本框中,您现在可以输入.lib文件的名称。