您好,登錄后才能下訂單哦!
編譯時遇到兩個問題,首先是
error C2440: “static_cast”: 無法從“void (__thiscall CMainFrame::* )(BOOL,HTASK)”轉換為“void (__thiscall CWnd::* )(BOOL,DWORD)”
1> 從基類型到派生類型的強制轉換需要 dynamic_cast 或 static_cast
error C2664: “CWnd::OnActivateApp”: 不能將參數 2 從“HTASK”轉換為“DWORD”;
一行行的改,第一個是在CMainFrame中沒有對消息映射ON_WM_ACTIVATEAPP()處理,這是因為第二個錯誤引起的,因為現在VS2012中把函數中聲明了的HASK的類型是DWORD,把CMainFrame::OnActivateApp(BOOL bActive, HASK hTask)中的它改成DWORD就可以了,聲明中也要改回來,CMainFrame::OnActivateApp(BOOL bActive, DWORD hTask),這樣消息映射才對應。
改完后還有一個經常出現的
1>AppLog.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/SAFESEH”規范)
1>GLAUX.LIB(p_w_picpath.obj) : error LNK2026: 模塊對于 SAFESEH 映像是不安全的。
1>GLAUX.LIB(tkp_w_picpath.obj) : error LNK2026: 模塊對于 SAFESEH 映像是不安全的。
1>GLAUX.LIB(tkdib.obj) : error LNK2026: 模塊對于 SAFESEH 映像是不安全的。
1>GLAUX.LIB(tk.obj) : error LNK2026: 模塊對于 SAFESEH 映像是不安全的。
1>.\Debug\OpenGL.exe : fatal error LNK1281: 無法生成 SAFESEH 映像。
這是安全性問題,
解決方案,是繞過safeshe驗證,方法是這樣的
解決方法:
1.打開該項目的“屬性頁”對話框。
2.單擊“鏈接器”文件夾。
3.單擊“命令行”屬性頁。
4.將 /SAFESEH:NO 鍵入“附加選項”框中,然后點擊應用
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。