msvcrt.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16
找不到MFC程序的入口函數WinMain,解決辦法是在ProjectSettings->link->output把Entry設置爲wWinMainCRTStartup。據說這是VC6.0的一個bug,但是我用的是.NET 2003,看來微軟發現這個問題不容易改啊。
做完這兩步之後不要忘了用TCHAR,_T,lstrcpy這些generic的宏,能同時支持ASCII和Unicode看着要高級點嘛。
問題提出:VC提示找不到mfc42u.lib錯誤(cannot open file "mfc42u.lib")
說明:
LINK: fatal error LNK1104: cannot open file "mfc42u.lib" 表明安裝VC時沒有安裝 Unicode版本
解決問題方法總結:
方法一:
從VC的安裝盤中拷貝文件“MFC42U.LIB”、“MFC42UD.LIB”、“MFCS42U.LIB”、“MFCS42UD.LIB”幾個對Unicode支持的代碼“VC的安裝目錄/VC98/MFC/Lib”下即可,不必要重裝,
把lib放到vc的mfc\lib下,dll放到windows\system32下
方法二:
在build選擇非 Unicode版本進行編譯
方法三:
在Build菜單下面的Set Active Configuation...子菜單裏面設置當前的配置爲Win32 Release 或win32 debug,不要設置成Unicode Release 或unicode Debug。
這個問題是你的編譯配置設置成了unicode的配置,而VC在安裝的時候默認不安裝Unicode的庫,所以找不到mfc42u.lib或mfc42u.dll。
方法四:重新安裝VC,選擇 Full install