用VS2010打开vc6.0的工程时,遇到了很多的问题,下面记录下解决办法。
1. 报错:
error C2065: “i”: 未声明的标识符
解决办法:
提出 i 的申明,因为 i 的申明可能在for循环里。
2. 报错:
error C2440 “static_cast” 无法从“void (__thiscall CMainFrame::* )(void)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
解决办法:
例如:TransparentWnd.cpp中ON_MESSAGE(WM_LIBEN,OnLiben):
第一:把原来的消息函数返回值类型改为LRESULT(找到OnLiben定义,如Viod CTransparentWnd::OnLiben(WPARAM wParam,LPARAM lParam)改成LRESULT CTransparentWnd::OnLiben(WPARAM wParam,LPARAM lParam),声明处也要改,如afx_msg LRESULT OnLiben(WPARAM wParam,LPARAM
lParam);
第二:函数内可以随便写个return TRUE;
第三:然后消息函数的参数必须改写成(WPARAM wParam,LPARAM lParam)而不论这两个参数是否用得到;
第四:消息映射如ON_MESSAGE(WM_message,& OnMyMessage)。
3. 报错:
fatal error C1083: 无法打开包括文件:“fstream.h”: No such file or directory
解决办法:
#include<fstream.h> 改为:
#include <fstream>
using namespace std;
同理,在用到输入输出函数的调用的时候需要连接的:
#include <iostream.h> 也需要改为:
#include <iostream>
using namespace std;