首頁 > 後端開發 > C++ > 主體

為什麼我在 Visual Studio 中收到「無法解析的外部符號」錯誤?

Susan Sarandon
發布: 2024-10-25 04:41:02
原創
669 人瀏覽過

Why Am I Getting an

未解析的外部符號:Visual Studio 中的常見錯誤

在Visual Studio 中編碼時,遇到未解析的外部符號錯誤可能會令人沮喪。它表明編譯器找不到程式碼中引用的函數或變數的定義。以下是解決此問題的方法:

無法解析的外部符號的原因

此錯誤通常發生在以下情況:

  • 函數或變數是在您的專案中聲明時沒有對應的定義。
  • 該定義存在,但由於缺少包含指令或函式庫依賴項,編譯器無法找到該定義。

辨識問題

要辨識缺少的定義,請仔細檢查錯誤訊息。它將指定未解析的符號和引用函數。這可以將您指向包含聲明但不包含定義的來源檔案。

修正問題

  1. 驗證函數定義:確保相關函數或變數在對應的來源檔案(.cpp) 中正確定義。尋找以分號 (;) 結尾但缺少主體(括號 {})或類別作用域 (A::) 的定義。
  2. 檢查包含指令: 驗證標頭包含聲明的檔案 (.h) 包含在使用該符號的來源檔案 (.cpp) 中。
  3. 連結到外部函式庫: 如果在您的專案中找不到該定義,請檢查它是否在外部程式庫中定義。新增必要的庫相依性並連結到專案設定中的庫。
  4. 重建專案:解決缺少的定義後,重建專案以確保編譯器可以找到所有必需的

範例

假設您收到以下錯誤:

error LNK2019: unresolved external symbol "void myClass::myFunction()"
登入後複製

這表示函數myFunction 是在類別myClass 但未定義。要解決此問題,請確保相應的來源檔案中有如下定義:

void myClass::myFunction()
{
  // Function body
}
登入後複製

,並且已在使用 myFunction 的來源檔案中包含必要的頭檔。

以上是為什麼我在 Visual Studio 中收到「無法解析的外部符號」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!