您好,登錄后才能下訂單哦!
最近因為要改一個MFC項目重寫學習MFC,沒想到只是用VS2013新建一個最簡單的MFC項目運行就報類上百個的類似"Error LNK2019: 無法解析的外部符號...mfcs120ud.lib"的錯誤。
經過一番折騰,終于發現問題所在.打開C:\Users\Administrator\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props
發現默認庫引用了$(WindowsSDK_LibraryPath_x64),即引用了Windows SDK的64位版Lib庫,而我的VS項目中的編譯平臺為Win32,Win32編譯平臺是不能和64位版本的lib或dll庫兼容的.
另外我的項目默認的MFC庫引用$(VCInstallDir)atlmfc\lib也是32位版,也不能和64位的Windows SDK兼容。這里我不想編譯64位平臺,所以必須把函數庫版本和編譯平臺都設置為32位才行。解決方法很簡單,只要把Microsoft.Cpp.Win32.user.props的$(WindowsSDK_LibraryPath_x64)改成$(WindowsSDK_LibraryPath_x86)即可。
這里要吐槽一下VC++開發最蛋疼的就是各種編譯不順問題,由于很多開發庫是不向下兼容的,導致各種Dll,Lib,或者編譯器版本不對都會引發許多問題,另外還有不少開發環境配置問題。還是搞unity3d開比較爽啊,在unity3d集成開發環境下無論是誰寫的多老的版本,稍作修改都可以一鍵完美升級,基本沒有什么編譯不過版本不兼容問題。當然,可以能是因為我對VC++開發不熟吧,解決這些雜七雜八的問題對自己也是一種提高。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。