VC2005和VC6的编译环境,库的支持有诸多的不同,所以直接迁移有很多无法预料的风险。目前遇到的主要问题如下:
1. MFC类库有些类的接口定义已发生改变,如CRichEditCtrl::CreateEx函数,CWnd:: OnActivateApp消息相应函数。
2. 库支持方面的更改,目前ToolsSDK库是VC6环境下编译的,其中有些函数依赖于VC6下的一些特定库,直接把VC6下的库拷贝过来可能会有无法预测的风险。
3. VC2005和VC6的项目生成向导生成的代码框架差别比较大,这其中可能一有些类引用依赖的宏发生改变。
4. COM的支持变动较大。
鉴于上面的原因和一些目前尚不明了的隐患,建议先用VC2005向导建立项目框架,然后在逐步加入现有的代码文件,这样编译环境相对干净,排查问题也少走弯路。
解决方案: