C++虐戀:MBCS安裝失敗致使的四天誤工

 

狀況描述:接收遠程隊友的C++代碼,基於vc120工具集(VS2013),而個人機器上是VS2015,須要安裝VS2013(只選MFC,除主程序與MFC外其他的組件所有卸掉)。而後開始編譯,提示 MSB803 錯誤:說多字節已經被棄用。函數

 

所以須要下載  vs_mbcsmfc.exe,下載後安裝失敗。工具

再安裝,仍是失敗。查看日誌文件無果,百度,bing,微軟社區搜索無果,幾近絕望。啓用PlanB,那就是把工程屬性改成Unicode,手動把代碼中的全部字符串用 _T() 宏包裹起來,同時,把 stoi 更改成 _wtoi,同時寫了個公共類,用於把 CString類型轉換爲 char* 類型,以知足底層調用約束。優化

搞了三天,最後編譯仍然出錯,提示找不到 mfc120d.lib,mfcs120d.lib,手動在設置裏忽略,還是報錯,提示連接錯誤。日誌

C++的虐心啊。code

休息半天以後,我決定從新再來一遍,從下載    vs_mbcsmfc.exe 開始,此次竟然安裝成功了,不知道該哭仍是笑。官網提示文件大小有64M,而我幾天前下載獲得的文件是50M,竟然能夠運行。字符串

而後順利編譯。編譯器

高興不了多久,又發現代碼中引用了一個第三方的lib,貌似是做者本身寫的,使用了一個工廠方法,返回一個基類,調用其虛函數,提示 「函數XXX的地址不存在,多是編譯器優化的結果」。編譯

無論怎樣,代碼能編譯了,這就是進展吧。社區

相關文章
相關標籤/搜索