首頁 >後端開發 >C++ >為什麼即使沒有虛擬方法,我也會在 Qt 中收到「未定義的 vtable 引用」錯誤?

為什麼即使沒有虛擬方法,我也會在 Qt 中收到「未定義的 vtable 引用」錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-20 21:25:11370瀏覽

Why Do I Get an

Qt 中對vtable 的未定義引用錯誤

問題:

時物件時,您可能會遇到連結器錯誤,指示「未定義對[物件名稱] 的vtable的引用」。儘管類別中沒有虛擬方法,但此錯誤仍然存在。即使用簡單整數取代複雜結構也無法解決問題。

答案:

連結器錯誤通常是由於缺少對 Q_OBJECT 巨集的呼叫而引起的。當向這個巨集新增新的呼叫時,重新執行 qmake 以產生必要的元物件資訊至關重要。

解決方案:

只需再次執行 qmake 即可。假設程式碼中沒有其他潛在問題,這將重新產生必要的 vtable 並解決連結器錯誤。

以上是為什麼即使沒有虛擬方法,我也會在 Qt 中收到「未定義的 vtable 引用」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn