Vc++6.0項目遷到vs2005 應(yīng)該注意的問題
www.firnow.com 時間 : 2010-06-06 作者:佚名 編輯:壹枝雪糕 點擊: 1176 [ 評論 ]
-
-
綜合 資源 電子書 社區(qū) 1.如果MessageBox("aa") 報錯,將其要改成 MessageBox(_TEXT("aa")).我喜歡用MessageBox來調(diào)試程序,尤其是在寫腳本時,當(dāng)你不知道程序有沒有執(zhí)行該條語句,以及執(zhí)行完該條語句后某個變量的值發(fā)生了什么變化,在該條語句前后各加一個MessageBox(str),一目了然了吧 .
2.pow(2,10) 要改成 pow((double)2,10)或pow(2.0,10)
說明:6.0中用到math.h pow()函數(shù)時,有這個原型 double pow(int _X,int _Y) 但如果用VC++ 2005的話,pow()的第一個參數(shù)就不能再使用int型態(tài),只能使用float、double、long double,VC++ 2005在編譯時會做type checking,然後就過不了,報error C2668
3.Itoa方法名要改成 _Itoa_s
4.error C2440:“static_cast” 無法從“void (__thiscall CChatManagerDlg::* )(WPARAM,LPARAM)”轉(zhuǎn)換為“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
文章出處:飛諾網(wǎng)(www.firnow.com):http://dev.firnow.com/course/3_program/vc/vc_js/200879/132413.html