首頁 > 後端開發 > C++ > 為什麼在 Qt 中使用 Q_OBJECT 時會出現「vtable 引用錯誤」?

為什麼在 Qt 中使用 Q_OBJECT 時會出現「vtable 引用錯誤」?

Mary-Kate Olsen
發布: 2024-10-28 06:53:02
原創
379 人瀏覽過

Why Do I Get a

Qt 中Q_OBJECT 的vtable 引用錯誤

在這種情況下,連結器無法找到虛函數表(vtable) T 類,導致錯誤“未定義對'vtable for T'的引用”。當負責管理 Qt 元物件系統的 MOC 生成單元被排除在連結過程之外時,就會出現此問題。

要解決此問題,請考慮以下事項:

  • 單獨的頭檔: 在單獨的頭檔中定義 T 類。這確保建置系統在編譯期間掃描頭檔。
  • 更新了qmake: 如果該類別以前不是元物件系統的一部分,請透過修改時間戳重新運行qmake專案檔案的名稱(例如,新增和刪除空格)以強制其執行。
  • Qt Creator 整合: 在Qt Creator 中,從專案上下文選單中選擇「執行qmake」會觸發qmake 執行.

執行這些步驟後, MOC 單元將包含在連結過程中,從而解決vtable 引用錯誤。

以上是為什麼在 Qt 中使用 Q_OBJECT 時會出現「vtable 引用錯誤」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板