LNK2019: 无法解析的外部符号--------解决方案

来源:互联网 发布:淘宝商城加入注意什么 编辑:程序博客网 时间:2024/06/05 14:21

问题说明:

            将VC6.0编译好的程序迁入vs2008中出现了大量的类似下面的错误:

            BusListView.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: int __thiscall CXTPStatusBar::SetPaneText(int,class ATL::CStringT<char,class                   StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,int)" (__imp_?SetPaneText@CXTPStatusBar@@QAEHHABV?$CStringT@DV?                                                 $StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@H@Z),该符号在函数 "public: void __thiscall CMainFrame::SetStatusPaneText(unsigned int,char               const *)" (?SetStatusPaneText@CMainFrame@@QAEXIPBD@Z) 中被引用

            BusListView1.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: int __thiscall CXTPStatusBar::SetPaneText(int,class ATL::CStringT<char,class                 StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,int)" (__imp_?SetPaneText@CXTPStatusBar@@QAEHHABV?$CStringT@DV?                                                 $StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@H@Z)


原来在VS2008中编译程序有时也会出现这样的错误,但那只是因为某些函数没有定义而被引起的,但是以上的错误却不是,上网找了很多资料,发现最有可能的原因就是vc6和vs2008(也就是vc8)对字符处理是不同的,所以把以前编写的VS2008的程序调出来查看其连接的链接库,发现了这次的程序少了ToolkitPro1121vc90D.lib,于是试着将其加入到

项目属性-》连接器-》输入-》附加依赖项中,重新编译居然通过了,于是上网查找关于ToolkitPro1121vc90D.lib的信息,但是网上介绍的几乎没有,虽然程序没有问题了,但是自己心中的疑问还是存在,不知道ToolkitPro1121vc90D.lib是不是如自己所想是出于字符的呢?

原创粉丝点击