問題描述:剛上課第一天,老師讓自己新建一個dialog,空程序運行,開始看老師演示的時候還在想這有什麼意思,晚上很不在意的File→New一個,一運行就傻眼了,balabala,fatal error就出來了,慣用手法,Ctrl+C Then Ctrl+V,一看遇到的還不少
Lofter上的寫的挺清晰http://tenz.blog.163.com/blog/static/60802417201231093752741/
Debug下編譯, 會碰到的問題:
1. fatal error LNK1107: 文件無效或損壞: 無法在 0x2E0 處讀取
解決方法:
項目-->項目屬性-->配置屬性-->清單工具-->使用FAT32解決方法爲 是;
如果是編譯.Bundles\Format7z的工程裏,在Asm/7zCrcOpt.asm上右鍵屬性,去掉常規-->命令行中的-omf
同樣在Asm/AesOpt.asm中去掉-c以外的選項
原因:vs6和vs2008區別造成的,參數-omf爲vc6服務的。
2. LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
解決方法:
項目-->工程屬性->配置屬性-> 清單工具->輸入和輸出->嵌入清單,選擇[否](博主注:Project→Dialog Properties→Configuration Properties→Manifest Tool→Input and Output →Embed Manifest)
項目-->項目屬性-->配置屬性-->清單工具-->使用FAT32解決方法爲 是;
編譯完之後,debug版在啓動7zg.exe進行調試的時候會報一個錯誤, 提示 丟失msvcrtd90.dll文件, 只需要將
項目屬性-->配置屬性-->C/C++-->代碼生成-->運行時庫 改成多線程調試(Mtd)即可.
照着找了下,誒,還是不行,然後又找啊找,這位仁兄又有個想法http://www.th7.cn/system/win/201411/77471.shtml
使用VisualStudio 編譯鏈接中可能出現如下錯誤:LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt網上有如下解決方法:1. disable incremental linkingProject Properties -> Configuration Properties -> Linker (General) -> Enable Incremental Linking -> "No (/INCREMENTAL:NO)"2. turning off "Embed Manifest"但是我使用這兩種方法均不奏效.Issue root cause: 系統更新或軟件升級中,造成有多於一個版本的 Utility: cvtres.exeD:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cvtres.exeC:/Windows/Microsoft.NET/Framework/v4.0.30319/cvtres.exe而因不當造成VS目錄下的cvtres.exe不在work.如果該Utinity在路徑的前面,linker覺得需要轉換一個.res文件爲COFF對象格式,link將失敗,顯示error: LNK1123方法: 對VS下舊的Utility cvtres.exe刪除或者重命名爲cvtres.exe_old.或者重新安排 PATH 變量.參考文獻:http://stackoverflow.com/questions/10888391/error-link-fatal-error-lnk1123-failure-during-conversion-to-coff-file-inval-------------------關於 error: LNK1123: failure during conversion to COFF: file invalid or corrupt 錯誤的解決方案【Qt】【 VS2010】近日因爲換裝硬盤重裝了系統,於是不得不重新安裝VS2010 Qt 這些個開發工具。安裝過程都沒什麼問題,安裝完了順手點了個例子測試下好沒好用,於是就出現了標題中的錯誤提示。之前處理過一次,時間久了就忘了,於是又一頓搜索解決了。這次長個心眼,記下,免得以後又忘了(寫博客隨筆什麼的不好堅持啊,不得不鄙視下自己 )。正題開始。提示說明在轉換到COFF文件因爲錯誤失敗了(VS2010裝好了,一般是不會有[file invalid] 錯的)。而完成轉換工作的是cvtres.exe這個程序。出現上面錯誤的根本原因是系統中存在有多個版本的 cvtres.exe。系統目錄下版本:C:/Windows/Microsoft.NET/Framework/v4.0.30319/cvtres.exe
VS目錄下版本:C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/BIN/cvtres.exe
如果是64位系統,那麼還有個在
C:/Windows/Microsoft.NET/Framework64/v4.0.30319/cvtres.exe
不過Framework 和Framework64下倆個版本是一致的,而且由於系統更新,一般比VS目錄下的版本新。
到此解決方法也就明顯簡單了,只需要將舊版的重命名或者刪除,不過我一般習慣重命名,比如在後面加上 -old。