摘要:本文主要向大家介绍了VC编程之vc6.0项目到vc2013移植记录,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。
本文主要向大家介绍了VC编程之vc6.0项目到vc2013移植记录,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。
先来个总结,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。
这样会有错误的弹窗出现,但不用管它,至少可以进行往下的编译了。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言VC/MFC频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号