連接器工具 LINK、LIB、DUMPBIN 和 EDITBIN 會共用通用可執行檔,導致產生這些錯誤和警告。 這些工具會產生 LNKxxxx 格式的錯誤,其中 xxxx 是四位數的數字。
重要
Visual Studio 編譯器及建置工具可以報告許多類型的錯誤和警告。 發現錯誤或警告後,建置工具可能會假設程式碼意圖並嘗試繼續執行,以便可以同時報告更多問題。 如果工具做的假設有誤,那麼後來的錯誤或警告可能不適用於您的專案。 當您更正專案中的問題時,務必從所報告的第一個錯誤或警告開始進行。 一次修復可能會解決多個後續錯誤。
若要取得 Visual Studio 中特定診斷訊息的說明,請在 [輸出] 視窗中選取該訊息,然後按下 F1 鍵。 如果存在,Visual Studio 會開啟該錯誤的文件頁面。 您也可以使用頁面頂端的搜尋工具來尋找有關特定錯誤或警告的文章。 或者,在此頁面上依照目錄中的工具和型別瀏覽錯誤與警告清單。
注意
並非每個 Visual Studio 錯誤或警告都有記載。 在許多情況下,診斷訊息會提供所有可用的資訊。 如果您登陸此頁面並認為錯誤或警告訊息需要額外說明,請使用此頁面上的意見回饋按鈕告訴我們。 如果您認為錯誤或警告有誤,或發現工具組有其他問題,請在開發人員社群網站上回報產品問題。 您也可以傳送意見反應,並在 IDE 內輸入錯誤。 在 Visual Studio 中,移至功能表欄,然後選擇 [說明] > [傳送意見反應] > [回報問題],或使用 [說明] > [傳送意見反應] > [建議功能]來提交建議。 已建立某些編譯器錯誤主題,但編譯器未發出,現在會重新導向至此頁面。
您可以在 Microsoft Q&A C++ 論壇中找到錯誤和警告的其他協助。 或者,在 Visual Studio C++ 開發人員社群網站上搜尋錯誤或警告號碼。 您也可以搜尋 Stack Overflow 以尋找解決方案。
如需其他說明與社群資源的連結,請參閱 Visual C++ 說明與社群 (部分機器翻譯)。
連結器工具錯誤
| 錯誤 | Message |
|---|---|
| 連結器工具錯誤 LNK1000 | 未知錯誤;請參閱文件以取得技術支援選項 |
| 連結器工具錯誤 LNK1103 | 偵錯資訊損壞;重新編譯模組 |
| 連結器工具錯誤 LNK1104 | 無法開啟檔案 'filename' |
| 連結器工具錯誤 LNK1106 | 無效檔案或磁碟已滿:無法搜尋位置 |
| 連結器工具錯誤 LNK1107 | 檔案無效或損毀:無法讀取位置 位址 |
| 連結器工具錯誤 LNK1112 | 模組機器類型 'type1' 與目標機器類型 'type2' 衝突 |
| 連結器工具錯誤 LNK1113 | 無效的機器類型類型 |
| 連結器工具錯誤 LNK1120 | number 未解決的外部項目 |
| 連結器工具錯誤 LNK1123 | 轉換為 COFF 期間失敗:檔案無效或損毀 |
| 連結器工具錯誤 LNK1127 | 庫已損毀 |
| 連結器工具錯誤 LNK1136 | 檔案無效或損毀 |
| 連結器工具錯誤 LNK1140 | 程式資料庫的模組數量過多,因此請使用 /PDB:NONE 進行連結。 |
| 連結器工具錯誤 LNK1141 | 建置匯出檔案期間失敗 |
| 連結器工具錯誤 LNK1143 | 無效或損毀的檔案:沒有 COMDAT 區段號碼的符號 |
| 連結器工具錯誤 LNK1152 | 無法解析一或多個未修飾的符號 |
| 連結器工具錯誤 LNK1158 | 無法執行 'filename' |
| 連結器工具錯誤 LNK1164 | 區段對齊方式 (數字) 大於 /ALIGN 值 |
| 連結器工具錯誤 LNK1166 | 無法調整 offset=offset, va=value 的程式碼 |
| 連結器工具錯誤 LNK1168 | 無法開啟檔案名稱進行寫入 |
| 連結器工具錯誤 LNK1169 | 找到一個或多個重複定義的符號 |
| 連結器工具錯誤 LNK1170 | 命令檔案中的某一行包含超過 最大長度 的字元數 |
| 連結器工具錯誤 LNK1179 | 無效或損壞的檔案:重複的 COMDAT 'filename' |
| 連結器工具錯誤 LNK1181 | 無法開啟名為 'filename' 的輸入檔案 |
| 連結器工具錯誤 LNK1188 | BADFIXUPSECTION::無效的修復目標 'symbol';可能的零長度部分 |
| 連結器工具錯誤 LNK1189 | LIBTOOMANYMEMBERS:: 已超出物件數量的資料庫上限 |
| 連結器工具錯誤 LNK1196 | 無效或損毀的匯入物件:未知版本 |
| 連結器工具錯誤 LNK1200 | 讀取程式資料庫 'filename' 時發生錯誤 |
| 連結器工具錯誤 LNK1201 | 寫入程式資料庫「檔案名稱」時發生錯誤;檢查磁碟空間不足、路徑無效或權限不足 |
| 連結器工具錯誤 LNK1211 | 找不到預編譯的類型資訊;'filename' 未被鏈接或被覆蓋 |
| 連結器工具錯誤 LNK1215 | 中繼資料作業失敗(HRESULT):錯誤 |
| 連結器工具錯誤 LNK1218 | 警告被視為錯誤;不產生輸出檔案 |
| 連結器工具錯誤 LNK1221 | 子系統無法推斷,必須定義 |
| 連結器工具錯誤 LNK1223 | 無效或損毀的檔案:檔案包含無效的 .pdata 貢獻 |
| 連結器工具錯誤 LNK1224 | 無效的映像基底地址 |
| 連結器工具錯誤 LNK1237 | 在程式生成期間,編譯器引入了對使用 /GL 編譯的模組 'module' 中定義之符號 'symbol' 的引用。 |
| 連結器工具錯誤 LNK1240 | 編譯 IDL 內容失敗 |
| 連結器工具錯誤 LNK1241 | 已指定資源檔案 'resource file' |
| 連結器工具錯誤 LNK1245 | 指定無效的子系統 'subsystem';/SUBSYSTEM 必須是 WINDOWS、WINDOWSCE 或 CONSOLE |
| 連結器工具錯誤 LNK1248 | 圖片大小 ('output_size') 超過允許大小上限 (maximum_size) |
| 連結器工具錯誤 LNK1256 | ALINK 作業失敗:原因 |
| 連結器工具錯誤 LNK1264 | /LTCG:PGINSTRUMENT 指定,但不需要產生程式碼;檢測失敗 |
| 連結器工具錯誤 LNK1277 | 在 PGD 中找不到物件記錄 (檔案名稱) |
| 連結器工具錯誤 LNK1282 | 無法執行 /REBASE 檔案,因為它已簽署 |
| 連結器工具錯誤 LNK1287 | 無效的受控進入點函式 |
| 連結器工具錯誤 LNK1296 | 無法載入檔案名稱 |
| 連結器工具錯誤 LNK1301 | 找到 LTCG clr 模組,與 /LTCG:參數不相容 |
| 連結器工具錯誤 LNK1302 | 僅支援連結安全的.netmodules;無法連結檔案 .netmodule |
| 連結器工具錯誤 LNK1306 | 無法管理 DLL 進入點函式;編譯為原生 |
| 連結器工具錯誤 LNK1309 | 偵測到 type1 模組;與參數 /CLRIMAGETYPE:type2 不相容。 |
| 連結器工具錯誤 LNK1312 | 檔案無效或損毀:無法匯入組件 |
| 連結器工具錯誤 LNK1313 | 檢測到 ijw/本機模組;無法與純模組連結 |
| 連結器工具錯誤 LNK1314 | 損壞或無效的 COFF 符號表 (未定義的靜態或標籤符號) |
| 連結器工具錯誤 LNK1318 | 非預期的 PDB 錯誤;原因 '細節' |
| 連結器工具錯誤 LNK1332 | 偵測到在一個模組中匯入並在另一個模組中定義的 Windows 執行階段類型的數量 |
| 連結器工具錯誤 LNK1352 | 'section_name_1' 和 'section_name_2' 不能合併到不同的部分 |
| 連結器工具錯誤 LNK1561 | 必須定義進入點 |
| 連結器工具錯誤 LNK2001 | 未解析的外部符號「符號」 |
| 連結器工具錯誤 LNK2004 | GP 相對修正溢位至“target”;短段「section」過大或超出範圍。 |
| 連結器工具錯誤 LNK2005 | 物件中已定義符號 |
| 連結器工具錯誤 LNK2008 | 修復目標未對齊“symbol_name” |
| 連結器工具錯誤 LNK2011 | 未連結的預先編譯物件;映像檔可能無法執行 |
| 連結器工具錯誤 LNK2013 | fixup 類型 fixup 溢位。 目標「符號名稱」超出範圍 |
| 連結器工具錯誤 LNK2017 | 'symbol' 重新定位至 'segment' 在沒有 /LARGEADDRESSAWARE:NO 的情況下無效 |
| 連結器工具錯誤 LNK2019 | 函數 'function' 中引用的未解析外部符號 'symbol' |
| 連結器工具錯誤 LNK2020 | 未解析的代幣 'token' |
| 連結器工具錯誤 LNK2022 | 中繼資料作業失敗 (HRESULT) : error_message |
| 連結器工具錯誤 LNK2023 | 錯誤的 DLL 或函數入口點 <DLL 或函數入口點> |
| 連結器工具錯誤 LNK2026 | 模組對 SAFESEH 映像不安全 |
| 連結器工具錯誤 LNK2027 | 尚未解析的模組參考「module」 |
| 連結器工具錯誤 LNK2028 | exported_function(decorated_name)在函數“function_containing_function_call” (decorated_name)中被引用 |
| 連結器工具錯誤 LNK2031 | 無法產生「function_declaration」 decorated_name 的 P/Invoke;中繼資料中缺少呼叫約定 |
| 連結器工具錯誤 LNK2033 | 未解析的 typeref 權杖 (權杖)指向 'type' |
| 連結器工具錯誤 LNK2038 | 偵測到 'name' 不符:值 'value_1' 與filename.obj中的值 'value_2' 不符 |
| 連結器工具錯誤 LNK2039 | 導入另一個 .obj 中定義的 ref 類別 <類型>;它應該要導入或者定義,但不能同時導入及定義兩者。 |
連結器工具警告
| 警告 | Message |
|---|---|
| 連結器工具警告 LNK4001 | 未指定物件檔案;已使用的函式庫 |
| 連結器工具警告 LNK4002 | 物件中定義的符號 |
| 連結器工具警告 LNK4006 | 物件中已定義的符號;忽略第二個定義 |
| 連結器工具警告 LNK4010 | 子系統版本號無效;假設預設子系統版本 |
| 連結器工具警告 LNK4014 | 找不到成員物件「objectname」 |
| 連結器工具警告 LNK4020 | 'filename' 中的類型記錄已損壞;某些符號和類型可能無法從偵錯工具存取 |
| 連結器工具警告 LNK4022 | 找不到符號 'symbol' 的唯一相符項 |
| 連結器工具警告 LNK4039 | 使用 /SECTION 選項指定的區段 'name' 不存在 |
| 連結器工具警告 LNK4044 | 無法識別的選項 'option';忽略 |
| 連結器工具警告 LNK4049 | 匯入 'filename.obj' 中定義的符號 'symbol' |
| 連結器工具警告 LNK4065 | 'function' 無法排序;忽略 |
| 連結器工具警告 LNK4070 | /OUT: filename 指令在 .EXP 中與輸出檔案名稱 'filename' 不同,將忽略該指令。 |
| 連結器工具警告 LNK4071 | 無法在後續的鏈接中進行增量鏈接 |
| 連結器工具警告 LNK4073 | 無法為 .ilk 檔案建立地圖;非累加式連結 |
| 連結器工具警告 LNK4075 | 由於“option2”規範而忽略“option1” |
| 連結器工具警告 LNK4076 | 無效的增量狀態檔案 'filename';以非增量方式連結。 |
| 連結器工具警告 LNK4078 | 找到多個具有不同屬性的「區段名稱」區段 |
| 連結器工具警告 LNK4086 | 入口點 'function' 的參數位元組數不是 __stdcall 規約所需的 'number' 位; 映像檔可能無法執行。 |
| 連結器工具警告 LNK4092 | 共享可寫部分 'section' 包含重新定位;映像檔可能無法正常執行 |
| 連結器工具警告 LNK4096 | /BASE 值 “number” 對 Windows 95 和 Windows 98 無效;映像檔可能無法執行 |
| 連結器工具警告 LNK4098 | defaultlib 'library' 與其他庫的使用發生衝突;使用 /NODEFAULTLIB:library |
| 連結器工具警告 LNK4099 | 在 'object/library' 或 'path' 中找不到 PDB 'filename';連結物件,就好像沒有偵錯資訊一樣 |
| 連結器工具警告 LNK4102 | 匯出刪除析構函數 'name';映像檔可能無法正常執行 |
| 連結器工具警告 LNK4104 | 符號 'symbol' 的匯出應該是私有的 |
| 連結器工具警告 LNK4105 | 沒有使用選項 'option' 指定參數;忽略選項 |
| 連結器工具警告 LNK4194 | /DELAYLOAD:dll 名稱被忽略 |
| 連結器工具警告 LNK4197 | export 'exportname' 多次指定;使用第一個規格 |
| 連結器工具警告 LNK4199 | /DELAYLOAD:dllname 已忽略;找不到從 DLLname 匯入的內容 |
| 連結器工具警告 LNK4200 | 對象文件中的行號資訊損壞;已忽略 |
| 連結器工具警告 LNK4204 | 'filename'缺少引用模塊的調試信息;連結物件,就好像沒有偵錯資訊一樣 |
| 連結器工具警告 LNK4205 | 'filename' 缺少引用模塊的當前調試信息;連結物件,就好像沒有偵錯資訊一樣 |
| 連結器工具警告 LNK4206 | 找不到預先編譯的類型資訊;'filename' 未連結或覆蓋;連結物件,就好像沒有偵錯資訊一樣 |
| 連結器工具警告 LNK4210 | section 區段存在; 可能有未處理的靜態初始化運算式或終止器 |
| 連結器工具警告 LNK4216 | 匯出的進入點項目 |
| 連結器工具警告 LNK4217 | 在 'filename_1.obj' 中定義的符號 'symbol' 由函數 'function' 中的 'filename_2.obj' 匯入 |
| 連結器工具警告 LNK4219 | fixup 名稱 fixup 溢位。 目標「目標符號名稱」超出範圍,插入函式塊 (thunk) |
| 連結器工具警告 LNK4220 | 無效的 'linker option' 值 'value';假設預設值 |
| 連結器工具警告 LNK4221 | 此物件檔不會定義任何先前未定義的公用符號,因此任何耗用此程式庫的鏈結作業都不會使用它 |
| 連結器工具警告 LNK4222 | 匯出的符號 'symbol' 不應被指派序數 |
| 連結器工具警告 LNK4224 | 選項不再支援;忽略 |
| 連結器工具警告 LNK4227 | 中繼資料作業警告 (HRESULT) : warning_message |
| 連結器工具警告 LNK4229 | 找到無效指令,已忽略該指令 |
| 連結器工具警告 LNK4237 | /SUBSYSTEM:NATIVE 在從 'dll' 匯入時指定;請使用 /SUBSYSTEM:CONSOLE 或 /SUBSYSTEM:WINDOWS。 |
| 連結器工具警告 LNK4247 | 入口點'decorated_function_name'已經有線程屬性;'attribute' 被忽略 |
| 連結器工具警告 LNK4248 | 'type' 的未解析 typeref token (token);映像檔可能無法執行 |
| 連結器工具警告 LNK4253 | “section1”未合併到“section2”中;已合併到「section3」中 |
| 連結器工具警告 LNK4254 | 部分 'section1' (偏移量) 合併為具有不同屬性的 'section2' (偏移量) |
| 連結器工具警告 LNK4286 | 'filename_1.obj' 中定義的符號 'symbol' 由 'filename_2.obj' 匯入 |
| 連結器工具警告 LNK4306 | 輔助 delayload 匯入位址表格未與主要 delayload 匯入位址表格正確對齊。 這可能會對效能產生負面影響。 |
| 連結器工具警告 LNK4307 | 輔助 delayload 匯入位址表格副本未與輔助 delayload 匯入位址表格正確對齊。 這可能會對效能產生負面影響。 |
另請參閱
C/C++ 編譯器與建置工具錯誤與警告 (部分機器翻譯)