配置C 項目時,連結器偶爾會拋出令人費解的錯誤,例如「對XXX 的vtable 的未定義引用”或“未定義引用”到類別名稱::類別名稱()。 「這些錯誤主要表示源自虛擬函數和繼承的問題。
當子類別聲明重寫的虛函數而不提供定義時,通常會出現問題。考慮以下程式碼片段:
class Base { public: virtual void f() = 0; }; class Derived : public Base { public: void f(); };
在此範例中,子類別Derived 宣告了一個重寫函數f()但未定義它。 >
檢查庫架構:確認類別存在:
要確保庫包含預期的類別和方法,請使用 nm 指令:file /path/to/library.a
解決問題
至解決鏈接器錯誤並成功完成鏈接過程,提供子類中任何聲明的虛擬函數的定義,並確保相關庫正確包含在鏈接步驟中。以上是為什麼我的 C 連結器會拋出'未定義的引用”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!