Rumah >pembangunan bahagian belakang >C++ >Mengapa Projek Qt Saya Menunjukkan Ralat 'rujukan tidak ditentukan kepada vtable' Walaupun Tiada Kaedah Maya?

Mengapa Projek Qt Saya Menunjukkan Ralat 'rujukan tidak ditentukan kepada vtable' Walaupun Tiada Kaedah Maya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-08 04:41:11563semak imbas

Why Does My Qt Project Show a

Ralat Penyambung Qt: "rujukan tidak ditentukan kepada vtable" [pendua]

Butiran Ralat

Penyambung Qt melaporkan ralat yang menunjukkan "rujukan tidak ditentukan kepada vtable" untuk kelas BarelySocket, walaupun tiada kaedah maya dalam kelas. Ralat berterusan walaupun selepas mengecualikan QVector pembolehubah ahli.

Resolusi

Penyelesaian kepada ralat ini terletak pada memastikan projek telah dijalankan semula dengan betul melalui utiliti qmake selepas menambah makro Q_OBJECT pada definisi kelas BarelySocket. Makro Q_OBJECT memerlukan proses persediaan tertentu dan gagal menjalankan qmake selepas penambahannya boleh menyebabkan tiada definisi vtable.

Proses Persediaan Betul

Untuk memasukkan makro Q_OBJECT dengan betul dan mengelakkan ralat pemaut , ikuti langkah berikut:

  1. Sertakan pengepala Qt yang diperlukan dalam kelas anda definisi.
  2. Tambahkan makro Q_OBJECT pada definisi kelas.
  3. Jalankan qmake dari baris arahan atau dalam persekitaran pembangunan. Ini akan menjana Makefiles atau membina skrip yang diperlukan untuk projek anda.
  4. Kompil semula dan jalankan aplikasi anda untuk memastikan ralat pemaut telah diselesaikan.

Nota: Jika ralat berterusan selepas menjalankan semula qmake, ia mungkin menunjukkan isu lain dalam pangkalan kod.

Atas ialah kandungan terperinci Mengapa Projek Qt Saya Menunjukkan Ralat 'rujukan tidak ditentukan kepada vtable' Walaupun Tiada Kaedah Maya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn