使用Visual Studio 2008 SP1,
這行:C++:LINK:debug XXXXX.exe未找到或未由最後一個增量鏈接構建;執行完全鏈接
LINK : debug\XXXXX.exe not found or not built by the last incremental link; performing full link
似乎每一次我編譯項目,無論改變我做多麼小。
這可能是什麼原因?
使用Visual Studio 2008 SP1,
這行:C++:LINK:debug XXXXX.exe未找到或未由最後一個增量鏈接構建;執行完全鏈接
LINK : debug\XXXXX.exe not found or not built by the last incremental link; performing full link
似乎每一次我編譯項目,無論改變我做多麼小。
這可能是什麼原因?
因此,原來的問題解決它的自我如果我添加/INCREMENTAL
到鏈接器命令行。儘管事實上根據文檔的默認行爲是啓用增量鏈接。
奇怪。
在黑暗中,但是,真的射擊...
你移動XXXXX.exe從那裏建到別的地方?增量鏈接的重點在於改變現有的exe。如果沒有,這將是困難的......
另一個可能的原因是該文件被構建(可能是通過其他工具)後改變...
所有原因中the help item for /INCREMENTAL列出:
此外,LINK如果執行以下任一情況 發生全 鏈路:
增量狀態(.ilk)文件是 丟失。 (LINK創建爲後續 增量鏈接準備一個新的.ilk文件 。)
沒有爲 .ilk文件沒有寫權限。 (LINK忽略.ilk文件 並鏈接不加)。
缺少.exe或.dll輸出文件是 。
.ilk,.exe或 .dll的時間戳已更改。
LINK選項已更改。大多數LINK 選項在版本之間更改時, 會導致完整鏈接。
添加對象(.obj)文件或省略 。
編輯了 /Yu/Z7選項的對象已更改。
沒有..鏈接後沒有任何東西觸及exe。 – shoosh 2009-10-13 12:16:11
病毒掃描程序,搜索索引器,備份軟件等情況如何?是什麼東西接觸你係統上的所有新文件? – 2009-10-13 20:40:32
(也是在黑暗中)一個可能的原因是您使用引用__DATE__
宏的項目範圍標題。但是在那種情況下,你會看到一個完整的重新編譯(你呢?)
從來沒有一個完整的重新編譯,我沒有引用__DATE__任何地方 – shoosh 2009-10-13 12:16:50
老問題,但只是爲了防止某人仍然是個問題(而且是......)。
增量鏈接與生成清單文件不兼容(Proj opts> Linker> Manifest File> Generate Manifest:Yes)。事實上,生成清單會修改exe/dll,因此鏈接器必須完全鏈接。
有一些解決方法,瞭解詳情: http://chadaustin.me/2009/05/incremental-linking-and-embedded-manifests/
臨時(和最簡單的/最快)的解決方案是開發過程中禁用清單生成和釋放階段再次啓用它。雖然這會禁用應用程序的XP/Vista風格的GUI(控件看起來像「經典模式」)。
就我而言,昨天我得到了這個錯誤。
VS集合code generation > runtime Library
到Multi-threaded Debug DLL (/MDd)
而不是Multi-threaded Debug (/MTd)
。
如果我重新創建新項目,這個不好的設置會再次發生。我手動切換到/Mtd
,然後沒有發生錯誤。
這是爲我做的。大幫忙! – 2010-09-24 18:08:47