vc++6.0项目迁到vs2005

1.如果MessageBox("aa") 报错,将其要改成 MessageBox(_TEXT("aa")).我喜欢用MessageBox来调试程序,尤其是在写脚本时,当你不知道程序有没有执行该条语句,以及执行完该条语句后某个变量的值发生了什么变化,在该条语句前后各加一个MessageBox(str),哈哈,一目了然了吧

2.pow(2,10)   要改成 pow((double)2,10)或pow(2.0,10)

说明:6.0中用到math.h pow()函数时,有这个原型 double pow(int _X,int _Y)
但如果用VC++ 2005的话,pow()的第一个参数就不能再使用int型态,只能使用float、double、long double,VC++ 2005在编译时会做type checking,然后就过不了,报error C2668

3.Itoa方法名要改成 _Itoa_s

4.error C2440:“static_cast” 无法从“void (__thiscall CChatManagerDlg::* )(WPARAM,LPARAM)”转换为“LRESULT (__thiscall CWnd::* ),出错处在ON_MESSAGE(WM_SETPLAY,OnSetPlay)

解答:将void CVideoBaseView::OnSetPlay(WPARAM wp,LPARAM lp) 改成LRESULT CVideoBaseView::OnSetPlay(WPARAM wp,LPARAM lp){

LRESULT result = Default();

//你原来的代码

return result;}

5.找不到MFC80D.DLL

解决:“工程属性”->“link”->“manifesto file”->“$(IntDir)/$(TargetFileName).intermediate.manifest” 值   改成    $(IntDir)/$(TargetFileName).manifest

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章