将现有的工程进行编译,Debug模式下,在link的时候出现如下的警告(Warning):
libcmtd.lib(gshandler.obj) : warning LNK4099: PDB 'libbmtd.pdb' was not found with 'D:/Program Files/Microsoft Visual Studio 8/VC/ce/lib/ARMV4I/libcmtd.lib' or at 'd:/Program Files/Windows CE Tools/wce500/Windows Mobile 5.0 Smartphone SDK/Samples/CPP/Win32/Phoneime/Windows Mobile 5.0 Smartphone SDK (ARMV4I)/Debug/libbmtd.pdb'; linking object as if no debug info(Mobile 5.0 for Smartphone自带的Sample)
LIBCMT.lib(gshandlereh.obj) : warning LNK4099: PDB 'libbmt.pdb' was not found with 'D:/Program Files/Microsoft Visual Studio 8/VC/ce/lib/ARMV4I/LIBCMT.lib' or at 'i:/MyApp/MyAppWindows Mobile 5.0 Pocket PC SDK (ARMV4I)/Debug/libbmt.pdb'; linking object as if no debug info
LIBCMT.lib(gshandler.obj) : warning LNK4099: PDB 'libbmt.pdb' was not found with 'D:/Program Files/Microsoft Visual Studio 8/VC/ce/lib/ARMV4I/LIBCMT.lib' or at 'i:/MyApp/MyApp/Windows Mobile 5.0 Pocket PC SDK (ARMV4I)/Debug/libbmt.pdb(Program Debug Database)'; linking object as if no debug info
在目录下确实找不到错误中提到的文件,但是就是不知道这几个文件是干什么的。可喜的是程序运行正常,要不我就得卸载SP1了。这个警告,微软官方也证实了这个消息:http://support.microsoft.com/kb/934632
解决方法是:1、把这个警告disable掉;2、在链接里添加库libcmt.lib(http://blogs.msdn.com/mgaur/archive/2006/12/21/lnk2019-unresolved-external-symbol-gshandlercheck.aspx)。
微软技术论坛上的讨论:http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1045003&SiteID=1
另外,在Release模式下,产生的exe文件比原来的大了25K左右,当然在Debug模式下,exe文件也变大了。
更为郁闷的是,装完SP1,我的Device Emulator Manager 里的中文模拟器都"消失"了,只剩下VS2005 自带的模拟器,连Emulator Image for WM5 Smartphone 320x240也不能幸免。还好,修复安装后,能正常使用。
btw:如果你之前有保存模拟器状态的话,那么在系统盘的/Documents and Settings/<当前用户>/Application Data/Microsoft/Device Emulator目录下,就有.dess文件(Device Emulator Save State File),就算你"Clear Save State"仍然有这个文件,并且你保存几次,就有几个文件,这种文件还很大的,都在27M以上。为了腾出空间,你可以将其删除。
注:1、卸载SP1的时候,需要VS 2005 的安装盘
2、卸载SP1大概50分钟左右
3、卸载完成后,相应的目录下,能找到对应的文件如:/Microsoft Visual Studio 8/VC/ce/lib/armv4i/LIBCMT.lib, /Microsoft Visual Studio 8/VC/ce/lib/armv4i/libcmtd.lib,
因此,安装SP1的时候,需要将/Microsoft Visual Studio 8/VC/ce/lib/下的目录进行备份。
来自微软官方的消息: