C ++未解析的外部

时间:2011-08-09 22:58:21

标签: c++ c

有谁知道这意味着什么?

1>  Generating Code...
1>BlankWindowDXbaseImpl.obj : error LNK2019: unresolved external symbol "public: __thiscall DXBase::DXBase(void)" (??0DXBase@@QAE@XZ) referenced in function "public: __thiscall BlankWindowDXBaseImpl::BlankWindowDXBaseImpl(void)" (??0BlankWindowDXBaseImpl@@QAE@XZ)
1>BlankWindowDXbaseImpl.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall DXBase::~DXBase(void)" (??1DXBase@@UAE@XZ) referenced in function "public: virtual __thiscall BlankWindowDXBaseImpl::~BlankWindowDXBaseImpl(void)" (??1BlankWindowDXBaseImpl@@UAE@XZ)
1>main.obj : error LNK2019: unresolved external symbol "public: void __thiscall DXBase::shutdown(void)" (?shutdown@DXBase@@QAEXXZ) referenced in function _wWinMain@16
1>main.obj : error LNK2019: unresolved external symbol "public: bool __thiscall DXBase::initalize(struct HINSTANCE__ *,struct HWND__ *)" (?initalize@DXBase@@QAE_NPAUHINSTANCE__@@PAUHWND__@@@Z) referenced in function _wWinMain@16
1>C:\backup\development\directXworkspace\BlankWindow\Debug\BlankWindow.exe : fatal error LNK1120: 4 unresolved externals

6 个答案:

答案 0 :(得分:13)

这意味着您有未解析的外部符号。

什么是符号?符号可以是变量,类,成员函数或函数。

为什么它们没有得到解决?您的代码的某些部分(或您正在使用的库)依赖于这些符号而未找到它们,因为您没有链接正确的库或实现它们。

答案 1 :(得分:4)

是的,这意味着您的程序调用已声明但没有正文的函数。

您是否希望这些功能成为您的代码的一部分,或由某些库提供?

答案 2 :(得分:1)

这意味着您有链接器问题。 (链接器找不到包含这些符号的库)您需要在库路径中包含所需的库。

答案 3 :(得分:0)

可能你没有链接到正确的库。

但是你应该提供一些更多细节..看起来你在问答比赛中提问。

答案 4 :(得分:0)

我遇到了同样的问题,如果你添加#pragma评论(lib,“d3d9.lib”) 这将包括编译代码所需的库文件。只是混淆了哪个lib文件可以抓取64位或32位。希望这会有所帮助。

答案 5 :(得分:0)

我正在分享一个很难检测到的刚面对的问题:如果您要链接到位于不同lib路径(a.lib和{中的两个lib(b.lib/PathToA/)的链接{1}}),如果路径/PathToB/中有b.lib的旧版本,则可能会出现无法解决的外部问题。

在这种情况下,您可能错误地链接到不需要的库。因此,要解决此特定的多链接问题,请确保您的库路径中没有多个版本的库。