【发布时间】:2013-05-23 21:31:01
【问题描述】:
我有 2 个 MFC 项目。
一个库项目使用多字节字符集。
可执行项目使用 Unicode 字符集。
我只编写了库项目,并且必须在可执行文件中使用它。 该库的一个函数返回一个 CString。 当我尝试将该 CString 放入我的 unicode 项目中的变量并编译时 我明白了:
Error 3 error LNK2001: unresolved external symbol "public: class
ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class
ATL::ChTraitsCRT<wchar_t> > > __thiscall CTextDisplay::GetString(void)"
(?GetString@CTextDisplay@@QAE?AV?$CStringT@_WV? $StrTraitMFC_DLL@_WV?
$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ)
我不介意转换任何项目。我只是想要一种让库能够将字符串返回到可执行项目的方法。 将任一项目切换到另一个字符集不是一种选择,因为它们都是巨大的。
提前致谢。
【问题讨论】:
-
我很高兴知道我可以将返回值填充到什么类型的变量中,而不需要链接器给我一个未解析的外部变量
标签: mfc cstring multibyte unicode-string