Qt プロジェクトの「vtable への未定義の参照」エラーを解決するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-02 13:14:30
オリジナル
716 人が閲覧しました

How to Resolve

Qt プロジェクトの vtable への未定義の参照: 問題の解決

Code::Blocks と mingw コンパイラーを使用して Qt プロジェクトをコンパイルすると、 「vtableへの未定義の参照」エラーが発生する場合があります。このエラーは、仮想メソッド テーブル (vtable) のリンク情報が欠落しているか不完全であるために発生します。

この問題を解決するには、コンパイル プロセス中に vtable が適切に生成されるようにする必要があります。示されている例では、問題は AddressBook クラスに関係しています。 AddressBook.h のクラス定義は、vtable の生成を担当する Q_OBJECT マクロを宣言します。ただし、AddressBook.cpp ソース ファイルには #include が含まれていません。ヘッダーは、vtable を適切に生成するために不可欠です。

この問題を解決するには、AddressBook.cpp の先頭に次の行を追加します。

<code class="cpp">#include <QObject></code>
ログイン後にコピー

これには、必要な行が含まれます。ヘッダーを設定し、コンパイラーが vtable を正しく生成できるようにします。その後、エラーは解決されるはずです。

Qt Creator ユーザーの場合、次の手順でリビルドをトリガーすることで問題を解決できます。

  1. [Build] → [Run qmake] を選択します。 .
  2. 「Build」→「Rebuild All」を選択します。

これにより、Makefile が強制的に生成され、プロジェクトが再コンパイルされ、vtable が適切に生成されます。

以上がQt プロジェクトの「vtable への未定義の参照」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート