我刚刚重组了我的Visual C++(7.1)项目的一些库,并遇到了我无法解决的链接程序的问题。链接错误:无法解析的运算符<<用于std :: basic_ostream与CStringT
的项目链接MFC以及标准的Windows库,所有MBCS
某处,有一样的东西:
的std :: stringstream的SSTR; sstr < < m_MyCStringVar < < std :: endl;
(这条线,以及一些其他需要< <为basic_stream和CString的)
一切都很好,直到我合并其他2个库到1个库(只是移动的代码/从一个文件B,不含太大变化)
突然,我所有的exe文件的生成链接器错误:
BasicFunctionsD.lib(CAccess.obj):错误LNK2019:无法解析的外部符号“类的std :: basic_ostream> & __cdecl操作< < (class std :: basic_ostream> &,class ATL :: CStringT >> const &)“(?? 6 @ YAAAV?$ basic_ostream @ DU?$ char_traits @ D @ std @@@ std @@ AAV01 @ ABV?$ CStringT @DV?$ StrTraitMFC_DLL @ DV?$ ChTraitsCRT @ D @ ATL @@@@@ ATL @@@ Z)在函数“protected:void __thiscall CAccessor :: CreateCategory(int,char const *,char const *)”中引用?CreateCategory @ @@ CAccessor @ IAEXHPBD0 Z)
(上面的代码没有被从库中合并的影响,至少不直接地)
据我能够识别,则< <操作者基本ostream的和找不到CString。
也许找不到包含MFC版本的basic_ostream的库?
但我不知道如何解决它,甚至不知道从哪里开始寻找真正的问题。
任何提示将是很好
我不认为它可能是std :: string,MFC的CStringT操作符/ std :: basic_ *流的接口似乎是问题。但我一直关注包括 –
RedFraggle
2010-01-25 15:33:41