gpt4 book ai didi

c++ - 需要帮助解决链接器错误 LNK2001 visual studio 2010

转载 作者:行者123 更新时间:2023-11-28 00:56:24 34 4
gpt4 key购买 nike

我遇到了一个讨厌的链接器错误问题,希望能提供找到解决方案的提示。

根据我对错误的理解,链接器无法在“BFStream”类中找到名为“read”的函数的实现。该代码包含类 BFStream 的 header 。有一个导入库 QRFound.lib,它接收从 QRFound.dll 导出的函数。 dll 和 lib 都在文件系统的 lib 目录中。 lib 目录在项目属性中的两个位置提供:VC++ 目录-> 库目录和链接器-> 附加库目录。 QRFound.lib 在 Linker->Input->Additional Dependencies 中指定,并且位于列表的第一位。

我知道 QRFound.dll 包含 BFStream::read 的实现,因为我使用 dependency walker 来查看它。但是 C++ 修饰与让我怀疑的链接器错误略有不同:?read@BFStream@@QAE_NPADH@Z

链接器错误是:

1>     Creating library C:\MyProj\Debug\MyDisplay.lib and object C:\MyProj\Debug\MyDisplay.exp
1>MyCmdReceiver.obj : error LNK2001: unresolved external symbol "public: bool __thiscall BFStream::read(char *,__int64)" (?read@BFStream@@QAE_NPAD_J@Z)

最佳答案

在您的符号上运行 undname.exe 实用程序会产生:

Undecoration of :- "?read@BFStream@@QAE_NPADH@Z"
is :- "public: bool __thiscall BFStream::read(char *,int)"

所以,是的,显然最后一个参数不匹配,__int64int 不匹配。您没有发布该方法的实际声明,因此我无法准确猜测这种不匹配是如何发生的。我怀疑这是某种宏汤问题。

关于c++ - 需要帮助解决链接器错误 LNK2001 visual studio 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11017108/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com