vc6.0项目到vc2013移植记录

先来个总结,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 nmhdr;

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

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

vc6.0项目到vc2013移植记录
下载下面附件的压缩包,解压后,将文件夹路径添加到PATH。

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

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



分类:默认分类 时间:2012-11-05 人气:16
本文关键词:
分享到:

相关文章

  • VC6.0 使用教程 2012-07-16

      你首先要打开VC6.0界面,一般用得较多的是Win32控制台应用程序(源程序,扩展名.cpp),   步骤是:(先工程—后文件—编译—连接---运行)   1,建立一个工程,“文件”——“新建”,出现下面界面:   选择“Win32ConsoleApplication”(控制台应用程序,左边倒数第三个),命名工程名称,选择保存位置,   点击“确定”,进入下一步,看到如下提示界面:   建立一个空工程,对应其他需要的你一可以建立别的工程;点击“完成”,之后:   显示你创建的工程的信息。  

  • 用VC6.0制作控制面板应用程序 2012-09-15

    一、Windows的控制面板应用程序 ---- 在Windows的系统目录下可以找到控制面板应用程序,它们是一些扩展名 为cpl的dll,通常用来提供配置服务,如配置网络硬件和软件用的ncpa.cpl,配 置桌面用的desk.cpl等,它们的父窗口都是桌面。运行这类程序的方法很多:双 击控制面板中的图标,双击系统目录下的cpl文件,或者使用如下DOS命令: rundll32 shell32.dll,Control_RunDLL < cpl文件> [@n]或者 control <

  • VC6.0和VC2012的全局对象的释放!!! 2012-11-03

    大家都知道,全局对象的生命周期是整个Process,Process终了时系统回收空间,全局对象的构造是在main()函数之前,析构是在main()函数返回后进行的。今天发现在VC6.0和VC2012中是有区别的。 测试代码:a.h,a.cpp,main.h,main.cpp #pragma once class A { public: A(); ~A(); }; #include #include "a.h" A::A() { std::cout #pragma once class B : p

  • 在VC6.0下自制多媒体播放器 2013-03-28

    VC6.0可谓是微软的王牌产品,它以强大的功能而赢得了广大程序员的爱好。而用VC的AppWizard、ClassWizard和其中的各种控件可以方便地建立应用程序。本文就介绍用VC6.0自带的一个ActiveX控件----ActiveMovieControl Object,来建立自己的多媒体播放器。此多媒体具有一般的播放功能,能播放*.mp3,*.wma,*.mdi,*.wav,*.avi,*.dat等文件,还有Repeat功能。 具体步骤: 1. 打开VC6.0,在Projects下选择MFC

  • VC6.0不能在win8系统中运行的解决方法 2013-05-14

      VC6.0是一款经典的编程软件,至今还有不少的用户使用它,而一些用户发现在Win8.1正式版系统中并不能运行VC6.0,而是出现出现停止工作的提示,这里我们了解到VC6.0已经是一款比较老的软件了,而在最新的win8.1系统www.xitonghe.com/win8/中存在一定的兼容性问题,不过下面的方法能让你的Win8.1完美运行VC6.0软件,有需要的朋友不妨看看。   解决Win8.1正式版无法运行VC6.0的具体操作步骤   1、首先找到vc的目录,找到文件“MSDEV.EXE”大家

  • 亲密接触VC6.0编译器 2013-10-08

    大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能够做得更加游刃有余呢?   闲话少说。我们先来看一下VC的处理流程,大致分为两步:编译和连接。源文件通过编译生成了.obj文件;所有.ob

  • VC6.0打开文件时出错.无法添加使用的解决办法 2014-08-19

    win7下VC6 打开添加无法使用的解决办法: 1.下载微软发布的补丁,filetool,不过是以未编译工程的形式发布的.解压出来,记住路径 2.找到目录,双击 filetool.dsw运行,(用VC6打开 filetool.dsw文件) 3.选择 win32 release编译方式,编译 4.找到release 目录,拷贝filetool.dll 5.找到VC6安装目录下的这个目录,粘贴 6.在VC6中工具栏右击,选择最下面的选项:自定义 找到最后一个选项卡,浏览到那个dll,然后勾上file

  • VC6.0打开文件时出错.无法添加使用 2014-10-27

      1.下载微软发布的补丁,filetool,不过是以未编译工程的形式发布的.解压出来,记住路径   2.找到目录,双击 filetool.dsw运行,(用VC6打开 filetool.dsw文件)   3.选择 win32 release编译方式,编译   4.找到release 目录,拷贝filetool.dll   5.找到VC6安装目录下的这个目录,粘贴   6.在VC6中工具栏右击,选择最下面的选项:自定义   找到最后一个选项卡,浏览到那个dll,然后勾上filetool就行了   

  • 在vc6.0里面如何查看汇编代码 2014-07-14

    (1)设置一个断点,按F9; (2)按F5键,会发现在断点上多了一个箭头; (3)这时你有两种方法打开汇编代码, 一种是:在断点上右击鼠标会出现如下图的窗口: 点击上面的Go To Disassembly 便会看到你对应的汇编代码; 另外一种方法是:点查看,在调试窗口里面点Disassembly。 天书夜读:从汇编语言到Windows内核编程 1.1.2 用Visual Studio查看汇编代码 C语言程序对应的汇编代码,可以在VC中非常清楚地显示出对应关系。但是并不是所有的读者都知道如何调出汇

Copyright (C) quwantang.com, All Rights Reserved.

趣玩堂 版权所有 京ICP备15002868号

processed in 0.033 (s). 10 q(s)