0

イベントループとhttps://stackoverflow.com/a/4182144/1619432のようなコンストラクターのインライン定義を持つカスタムクラスを備えた最小限のQtコンソールアプリケーションをコンパイルしようとしており、3つの不可解なリンカーエラーを取得しています(Qt 4.8.1を使用してMSVC 2010 Express C++):

main.obj:-1: error: LNK2001: Unresolved external symbol ""public: virtual struct QMetaObject const * __thiscall ....

::metaObject、::qt_metacast、::qt_metacall を使用します。

4

1 に答える 1

0
#include "main.moc"

int main(...) のすぐ上が重要です。ファイルが見つからない場合は、プロジェクトのクリーニング/ビルド ディレクトリの削除、qmake の実行、Qt Creator の再起動、またはシステム全体の再起動を試してください。これは、環境変数のパスに関係している可能性があります (別のプロジェクトによって以前に設定された可能性があります)。

別の一般的な理由は、クラス宣言で忘れられた Q_OBJECT マクロのようです。または、上記のように、それを含めた後に qmake を実行します。

幸運を!

于 2013-07-04T09:47:51.833 に答える