当前位置: 代码迷 >> Windows Mobile >> 从EVC移植到VS2005(PocketPC2003)上的链接异常
  详细解决方案

从EVC移植到VS2005(PocketPC2003)上的链接异常

热度:46   发布时间:2016-04-25 07:52:43.0
从EVC移植到VS2005(PocketPC2003)上的链接错误
这个程序在EVC4下编译没有问题,因为使用的是GDI,编译连接到ARM10上的wince没问题。
但是相同的代码,在2005下建立PocketPC2003工程,编译没问题,连接却出现了些奇怪的问题,貌似不支持C++多态似的:

libcpmtd.lib(string.obj) : error LNK2001: 无法解析的外部符号 "const type_info::`vftable'" (??_7type_info@@6B@)
gdiImage.obj : error LNK2019: 无法解析的外部符号 "const type_info::`vftable'" (??_7type_info@@6B@),该符号在函数 "public: __cdecl IImage::IImage(void)" (??0IImage@@QAA@XZ) 中被引用
gdiInput.obj : error LNK2001: 无法解析的外部符号 "const type_info::`vftable'" (??_7type_info@@6B@)
gdiTime.obj : error LNK2001: 无法解析的外部符号 "const type_info::`vftable'" (??_7type_info@@6B@)
ResourceManager.obj : error LNK2001: 无法解析的外部符号 "const type_info::`vftable'" (??_7type_info@@6B@)
Record.obj : error LNK2001: 无法解析的外部符号 "const type_info::`vftable'" (??_7type_info@@6B@)
sprite.obj : error LNK2001: 无法解析的外部符号 "const type_info::`vftable'" (??_7type_info@@6B@)
World.obj : error LNK2001: 无法解析的外部符号 "const type_info::`vftable'" (??_7type_info@@6B@)
CGame.obj : error LNK2001: 无法解析的外部符号 "const type_info::`vftable'" (??_7type_info@@6B@)
Record.obj : error LNK2001: 无法解析的外部符号 "public: __cdecl std::exception::exception(class std::exception const &)" (??0exception@std@@QAA@ABV01@@Z)
libcpmtd.lib(string.obj) : error LNK2001: 无法解析的外部符号 "public: __cdecl std::exception::exception(class std::exception const &)" (??0exception@std@@QAA@ABV01@@Z)
Record.obj : error LNK2019: 无法解析的外部符号 "public: virtual __cdecl std::exception::~exception(void)" (??1exception@std@@UAA@XZ),该符号在函数 __unwind$16825 中被引用
libcpmtd.lib(string.obj) : error LNK2001: 无法解析的外部符号 "public: virtual __cdecl std::exception::~exception(void)" (??1exception@std@@UAA@XZ)
Record.obj : error LNK2019: 无法解析的外部符号 "public: __cdecl std::exception::exception(void)" (??0exception@std@@QAA@XZ),该符号在函数 "public: __cdecl std::logic_error::logic_error(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0logic_error@std@@QAA@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z) 中被引用
libcpmtd.lib(string.obj) : error LNK2001: 无法解析的外部符号 "public: __cdecl std::exception::exception(void)" (??0exception@std@@QAA@XZ)
Record.obj : error LNK2019: 无法解析的外部符号 "public: __cdecl std::exception::exception(char const *)" (??0exception@std@@QAA@PBD@Z),该符号在函数 "public: __cdecl std::bad_alloc::bad_alloc(char const *)" (??0bad_alloc@std@@QAA@PBD@Z) 中被引用
libcpmtd.lib(string.obj) : error LNK2001: 无法解析的外部符号 "public: __cdecl std::exception::exception(char const *)" (??0exception@std@@QAA@PBD@Z)
Record.obj : error LNK2001: 无法解析的外部符号 "public: virtual char const * __cdecl std::exception::what(void)const " (?what@exception@std@@UBAPBDXZ)
libcpmtd.lib(string.obj) : error LNK2001: 无法解析的外部符号 "public: virtual char const * __cdecl std::exception::what(void)const " (?what@exception@std@@UBAPBDXZ)
Pocket PC 2003 (ARMV4)\Debug/MarioPPC.exe : fatal error LNK1120: 6 个无法解析的外部命令
生成日志保存在“file://c:\Documents and Settings\Administrator\桌面\MarioPPC\Pocket PC 2003 (ARMV4)\Debug\BuildLog.htm”
MarioPPC - 20 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========

不知道谁遇到过类似的问题没有。


------解决方案--------------------
http://support.microsoft.com/default.aspx?scid=kb;[ln];830482
安装后,链接Ccrtrtti.lib
  相关解决方案