連結器在所有庫與目標檔中找不到被引用的函式、變數或標籤時產生。編譯通過但連結失敗,極難除錯。以下歸納新手常見八大成因:
var1,另一檔用 VAR1 存取 (C++ 區分大小寫)static 函式/變數僅檔案內可見;區域變數僅函式內可見;C++ 全域常數預設內部連結,跨檔使用需 extern 或標頭檔初始化/NOD 需手動加入運行庫與 MFC 庫名wWinMainCRTStartup 導致 _WinMain@16 未解析/MD (動態 CRT) 連結靜態 LIBC(LIB/MT) → __imp__func 未解析/MD 卻連結 MSVCxx.LIB → 同樣錯誤/ML (單執行緒靜態) 連結 LIBCMT.LIB → _errno 未解析/Ob1/Ob2 但標頭檔未加 inline 關鍵字/NODEFAULTLIB,Linker → Input → Additional Dependencies 手動加入所有必要庫Entry Point = wWinMainCRTStartup