【发布时间】:2014-03-05 23:11:28
【问题描述】:
将 c++ 应用程序从 Visual Studio 2010 升级到 2013 时出现以下错误。
error LNK2019: unresolved external symbol __imp__SysAllocStringByteLen@8 referenced in function "wchar_t * __stdcall CtVbErrorMessage(unsigned long)" (?CtVbErrorMessage@@YGPA_WK@Z)
fatal error LNK1120: 1 unresolved externals
当我将使用 MFC 选项从使用标准 Windows 库更改为在共享 DLL 中使用 MFC 时,我开始收到此错误。
这是发生错误的代码区域。
_DLL_EXPORT_
(
BSTR,
CtVbErrorMessage (CtErrorHandle hErr)
)
{
BSTR vbstr = SysAllocStringByteLen("", 0);
char* str;
CEsoError* p_err = (CEsoError*)hErr;
if (p_err)
{
str = (char*)p_err->GetFullMessage();
if (str)
vbstr = SysAllocStringByteLen(str, strlen(str));
}
return vbstr;
}
【问题讨论】:
标签: visual-studio-2013 static-libraries linker-errors