【发布时间】:2011-02-23 00:38:27
【问题描述】:
我收到以下错误:
Error 1 error LNK2001: unresolved external symbol "class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > __cdecl messageForCode(int,class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >)" (?messageForCode@@YA?AV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@HV12@@Z) MyUIDlg.obj
Error 2 fatal error LNK1120: 1 unresolved externals C:\Documents and Settings\Administrator\Desktop\my-project\MyUI\Release\MyUI.exe
messageForCode 在编译成静态库的项目MyLibrary 中定义。该库不依赖于 MFC,因此使用“#include”包含 CString。它自己编译得很好。
MyUI是一个.exe项目,由于上述错误导致编译失败。它使用 MFC。我的一个理论是 MFC 中的 CString 和 atlstr.h 中的 CString 之间存在冲突。我尝试在两个项目的设置中将静态和动态链接到 ATL,但我无法解决错误。
【问题讨论】:
标签: visual-studio-2008 visual-c++