Qt プロジェクトの vtable への未定義の参照: 問題の解決
Code::Blocks と mingw コンパイラーを使用して Qt プロジェクトをコンパイルすると、 「vtableへの未定義の参照」エラーが発生する場合があります。このエラーは、仮想メソッド テーブル (vtable) のリンク情報が欠落しているか不完全であるために発生します。
この問題を解決するには、コンパイル プロセス中に vtable が適切に生成されるようにする必要があります。示されている例では、問題は AddressBook クラスに関係しています。 AddressBook.h のクラス定義は、vtable の生成を担当する Q_OBJECT マクロを宣言します。ただし、AddressBook.cpp ソース ファイルには #include
この問題を解決するには、AddressBook.cpp の先頭に次の行を追加します。
<code class="cpp">#include <QObject></code>
これには、必要な行が含まれます。ヘッダーを設定し、コンパイラーが vtable を正しく生成できるようにします。その後、エラーは解決されるはずです。
Qt Creator ユーザーの場合、次の手順でリビルドをトリガーすることで問題を解決できます。
これにより、Makefile が強制的に生成され、プロジェクトが再コンパイルされ、vtable が適切に生成されます。
以上がQt プロジェクトの「vtable への未定義の参照」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。