AfxMessageBox 找不到標識符

大家在使用網站下載的一些MFC程序時,經常會遇見一個報錯問題:【error C3861: “AfxMessageBox”: 找不到標識符】,因爲我是個菜鳥,所以一直被這個問題所困擾。網上搜索過各種各樣的解決方法,發現這類問題的解決方法比較混亂,也沒人能說出個具體的原因。

一般搜索這個問題,第一項即是MSDN社區的回答:點擊打開鏈接

此處解決方法很簡單,就是將程序中的AfxMessageBox函數全部替換成爲MessageBox函數,因爲前者調用的是MFC的底層函數庫,後者調用的是最爲基本的Win32 API。故絕對不會出現“找不到標識符”的錯誤。

問題雖然可以解決,但是卻十分麻煩。而且,相信很多人跟筆者的疑惑是一樣的:我明明就是要運行MFC程序,爲什麼會不支持MFC的底層函數庫?

於是,筆者繼續尋找有沒有其他的解決方法,例如網上常說的在頭文件裏面加入#include<afxwin.h>或者#include<stdafx.h>(其實兩者是一樣的,因爲stdafx.h也調用了afxwin.h,而afxwin.h裏面標識了函數AfxMessageBox),還是沒有成功。

同樣,我也想過把程序就當做是WIN32程序,再進行手工轉換成MFC程序。於是又搜索了這樣那樣的辦法……結果也都是一樣的,還是不成功。

最後,我想不行我自己編寫一個AfxMessageBox函數總行了吧!不然每次都要改來改去實在太麻煩了。然後我打開了AfxMessageBox函數所在的頭文件afxwin.h,使用VS平臺進行搜索,於是我就看到了這個……

不知道爲啥AfxMessageBox函數竟然被註釋掉了,算是徹底無語了……於是就把這四行恢復,再運行,OK,搞定!



轉載自  http://www.xuebuyuan.com/1578921.html

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