【症狀】
新建MFC工程,編譯通過,構建一下,提示如下錯誤。
LINK : fatal error LNK1123 轉換到 COFF 期間失敗: 文件無效或損壞
【對此微軟官方是這樣解釋的】
http://msdn.microsoft.com/zh-cn/library/7dz62kfh.aspx
按照網上提供的辦法試了下:
方法1:項目\屬性\配置屬性\清單工具\輸入和輸出\嵌入清單:原來是“是”,改成“否”。
結果不行,問題依舊。
【第二次嘗試】
在一個偏僻的角落裏發現了這麼一說:
方法2:給VS2010打SP1補丁。
但覺得MFC早在VC6時代就有了,到VS2010時代不可能出這麼大個bug啊,所以暫且保留方案沒有嘗試。
【成功的嘗試】
***後來發現,上面這兩種方法似乎只針對在電腦上同時安裝了VS2010和VS2012的用戶,但我電腦上只有VS2010,不存在版本衝突。
找zhu幫忙,他找到一個連接,打開一看,StackOverFlow上有人給出了這樣的迴應:(裏面第4個回答是關鍵)
http://stackoverflow.com/questions/10888391/link-fatal-error-lnk1123-failure-during-conversion-to-coff-file-invalid-or-c
裏面提到說有可能是.Net Framework版本問題,想起來新建工程時候默認選擇的是4.0,但電腦上裝的是4.5。不過微軟官方表示4.5是一次in place update,也就是說在4.0能用的東西,放到4.5下應該也沒有問題。所以抱着試一試的心態把4.5卸了,裝上4.0,重啓電腦,打開VS2010,載入工程,build,通過!終於出現窗口了。
***VS2010在安裝時會自動安裝4.0,所以你也可以選擇卸了4.5之後重裝VS2010,一樣的 ~=。=~ 我知道你不會這麼做的,對吧。。。
好吧,我只能說我無語了。。。。。。搞了半天居然是.Net Framework版本的問題,升了個級你就開始耍脾氣了,真能耐。
最後套用zhu的一句話來結束本文:“ MS這種東西比較大牌,順着它的意思和想法你會有很爽的開發體驗。想折騰的話linux纔是王道 ”
希望這篇文能幫到你。