2nd October 2007

VS6 到 VS2005 的迁移

posted in 编程珠玑 |

一个MFC的程序最近需要迁移到VS2005下面。折腾了半天,有几点需要总结一下,以后就不用再伤脑筋了:

1. 检查_UNICODE设置是否一致
2. 把所有用到的DLL和LIB都在VS2005下重新编译,生成新的LIB和DLL。LIB不匹配会出现LNK问题,DLL不匹配会出现 xxxx@class can’t be located in the DLL的错误。
3. 如果出现了LNK错误,首先检查lib的路径还有DLL是否都用的是新编译的版本(VS2005版本的)。如果没有继承CString类,基本不会出现ATL::CString模板的问题。Tip: 在Linker选项中加入/verbose:lib 来检查link的时候搜索路径是否正确,如果还在搜索VC98的目录,那基本上就是错误的原因了。
4. 著名的WM_HITTEST问题。UINT已经过时了,用LRESULT替代。

先想到这些,以后再补充。

Leave a Reply