我遇到了一个讨厌的链接器错误的问题,希望能找到解决方法的提示。
我理解错误的方式是,链接器无法在“BFStream”类中找到名为“read”的函数的实现。该代码包括 BFStream 类的标头。有一个导入库 QRFound.lib,它接收从 QRFound.dll 导出的函数。dll 和 lib 都在文件系统的 lib 目录中。lib 目录在项目属性中的两个位置提供:VC++ Directories->Library Directories 和 Linker->Additional Library Directories。QRFound.lib 在 Linker->Input->Additional Dependencies 中指定,并且在列表的第一位。
我知道 QRFound.dll 包含 BFStream::read 的实现,因为我使用依赖项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)