VS2008在win7下時不時出現Microsoft Incremental Linker已中止工做的解決辦法

/INCREMENTAL 選項控制連接器如何處理增量連接。函數

默認狀況下,連接器以增量模式運行。若要重寫默認增量連接,請指定 /INCREMENTAL:NO。對象

增量連接的程序在功能上等效於非增量連接的程序。不過,由於它是爲後面的增量連接而準備的,因此增量連接的可執行 (.exe) 文件或動態連接庫 (DLL):開發

  • 大於非增量連接的程序,由於有代碼和數據的填充。(填充容許連接器增長函數和數據的大小而不用從新建立 .exe 文件。)
  • 能夠包含跳轉 thunk 以處理函數重定位到新地址。
    注意
    爲了確保最終發佈版本不包含填充或 thunk,請非增量連接您的程序。

若要增量連接而無論默認值,請指定 /INCREMENTAL。選定該選項後,若是連接器沒法增量連接,它就會發出警告,而後非增量連接程序。某些選項和狀況重寫 /INCREMENTAL。io

大多數程序均可以增量連接。然而,某些更改太大,某些選項與增量連接不兼容。若是指定了任何下列選項,則 LINK 執行徹底連接:編譯

  • 增量連接未被選定 (/INCREMENTAL:NO)
  • 選定 /OPT:REF
  • 選定 /OPT:ICF
  • 選定 /ORDER

指定 /DEBUG 時暗含 /INCREMENTAL。table

另外,若是發生如下任何狀況,則 LINK 執行徹底連接:class

  • 缺乏增量狀態 (.ilk) 文件。(LINK 將建立新的 .ilk 文件覺得後面的增量連接做準備。)
  • 對 .ilk 文件沒有寫入權限。(LINK 忽略 .ilk 文件並進行非增量連接。)
  • 缺乏 .exe 或 .dll 輸出文件。
  • 更改 .ilk、.exe 或 .dll 的時間戳。
  • 更改 LINK 選項。大多數 LINK 選項在各生成間更改時致使徹底連接。
  • 添加或省略對象 (.obj) 文件。
  • 更改用 /Yu /Z7 選項編譯的對象。

在 Visual Studio 開發環境中設置此連接器選項

  1. 打開此項目的「屬性頁」對話框。有關詳細信息,請參見設置 Visual C++ 項目屬性。
  2. 單擊「連接器」文件夾。
  3. 單擊「常規」屬性頁。
  4. 修改「啓用增量連接」屬性爲默認值。
相關文章
相關標籤/搜索