码迷,mamicode.com
首页 > 其他好文 > 详细

vc6.0项目到vc2013移植记录

时间:2015-04-09 08:53:37      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:移植   vc   vs   源码   解决方案   


     先来个总结,VC6.0单向升级到vc2005以后版本,并不能完全兼容,主要分为以下五种情况:
①最常见的字符串格式问题

②消息响应函数原型发生了改变

③附带着的VC6.0编译来的DLL也要移植到vs2013下进行重新编译,方可正常链接。

④如果是商业项目(现在我移植的这个就是),一般还会有hlp文档,会提示缺少hcw.exe文件

   下面是解决方案:

    一、CString->char *转换:

	CString m_Head;
	char *codefile;
	codefile=(LPSTR)(LPCTSTR)m_Head;

   二、消息原型发生改变:

     相应的提示信息诸如:static_cast” : 无法从“void (__thiscall CMainFrame::* )(NMTOOLBARA *,LRESULT *)”转换为“void (__thiscall CCmdTarget::* )(NMHDR *,LRESULT   *);

     首先我们把第一个参数改为NMHDR *,记得要将声明和定义都改了,然后在里面进行

NUMTOOLBARA *toolbar=reinterpret_cast<NUMTOOLBARA *> nmhdr;

   的强制转换,其他代码就无须更改了。

三、报错信息就是链接错误

技术分享技术分享

解决方案是将需要的dll的源码也拿过来重新编译。

四、提示的错误信息和hcw.exe缺少有关的话,就下载下面附件的压缩包,解压后,将文件夹路径添加到PATH。

这样会有错误的弹窗出现,但不用管它,至少可以进行往下的编译了。

http://download.csdn.net/detail/tianyuan521521/8576037




vc6.0项目到vc2013移植记录

标签:移植   vc   vs   源码   解决方案   

原文地址:http://blog.csdn.net/tianyuan521521/article/details/44948683

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!