0

としてフラグが立てられたクラスを追加するときにエラーのないコンパイルに必要なもの

Q_OBJECT

? qmakeファイルを実行する必要がありますか?

新しいクラスは、.pro .pri ファイルに既に追加されている .h .cpp ファイルに書き込まれます。

私の形而上学の質問は

1/ qmke_all.bat を実行し、Qt の依存関係を解消するのに十分なだけ再構築しますか? そうでない場合、手順は何ですか?

2/ なぜこの手続きが必要なのですか?

3/ .pro .pri とは何ですか? どちらも qt で「マッピング」するためにここにいますか? クラスを追加するときに何かを変更する必要がありますが、.h .cpp ファイルは追加しませんか?

私はVS2010を使用しています

ありがとう

4

1 に答える 1

2

Q_OBJECT を自己定義クラスに追加した場合は、コンパイルの前に qmake を実行する必要があります。そうしないと、それに必要なメタ コードが生成されません。

1) 意味がわかりません、すみません。

2) またはここ。

3) .pro と .pri は基本的に qmake のディレクティブ ファイルであり、Makefile が make で機能するのとほぼ同じです。明らかな違いがありますが、それらがマッピング用であると言っても、そう遠くはありません。それらは、必要なコンパイル ファイルを生成する方法を qmake に指示するために存在します。自動追加されていない場合に新しいクラスを追加する場合は、.cpp ファイルと .h ファイルの両方を追加する必要があります。

于 2013-03-07T15:59:45.530 に答える