【发布时间】:2021-03-20 11:06:26
【问题描述】:
标题基本上涵盖了它。
这些 DLL 似乎在链接器属性页设置中链接得很好,因为它们在使用 32 位构建平台时链接没有问题。
我已经在网上查看了这两个 LNK 错误,但没有找到任何能够专门解决问题的方法。
以前有没有人见过这个,或者有没有人想过如何解决这个问题?
以下是几个错误示例:
Error
LNK2001
unresolved external symbol "public: class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > __cdecl CUserContext::GetUserDisplayName(void)" (?GetUserDisplayName@CUserContext@@QEAA?AV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@XZ)
ApplicationIMPLDLL
Error
LNK2019
unresolved external symbol "public: int __cdecl CDBManager::IsOpen(void)" (?IsOpen@CDBManager@@QEAAHXZ) referenced in function "public: __cdecl CApplicationIMPLManager::CApplicationIMPLManager(class CDBManager *)" (??0CApplicationIMPLManager@@QEAA@PEAVCDBManager@@@Z)
ApplicationIMPLDLL
【问题讨论】:
-
请发布完整错误信息。
-
在原始帖子中添加了一些示例。完整列表大约有 50 个错误,因此太长无法发布,但其余错误非常相似。
-
第一个错误表明您没有链接到(正确的)MFC 库,第二个错误是关于其他一些库。这仍然不够详细,无法猜测出什么问题。 32 位构建良好的事实可能是一个线索,但是 .lib 依赖项是在 VS 中按配置定义的,而 64 位配置显然缺少一些东西。
标签: c++ visual-studio mfc 64-bit linker-errors