2

QT Visual-Studio アドインで作成された Visual Studio プロジェクトに新しい構成 (デバッグとリリースに加えて) を追加する必要があります。

問題は、moc ファイルがプロジェクトに自動的に追加されないことです。

QT Visual-Studio-add-in は、既存のヘッダー ファイルに基づいて moc_file を追加するための構成ルールをどこに保存しますか?

Release_Special のような新しい構成を生成する場合、ファイルを含むプロジェクトに新しいフィルター Release_Special が必要です。

moc_Test1.cpp moc_Test2.cpp

正しい除外ルールで。

私はVS2010とqt 4.8.3を使用しています。

ありがとう、よろしくMS

4

1 に答える 1

3

しばらく時間がかかりましたが、なんとか理解できました。

  1. Qtアドインのカスタム追加されたものを失うことなく、新しい構成を作成する必要があります。構成マネージャーを開いて構成を作成しますが、[設定のコピー元...]ドロップダウンリストで必ず[デバッグ]または[リリース]を選択してください。新しい構成に「Debug-foo」という名前を付け、既存のデバッグ構成の設定を使用したとします。
  2. プロジェクトをビルドします。必要なすべてのファイルがモックされ、出力はGeneratedFiles \ Debug-fooディレクトリ内に表示されます(自動的に作成されます)。次に、ビルドはデバッグ構成からmocファイルを処理しようとしますが、これは明らかに私たちが望んでいるものではないため、ビルドがmocを終了するとすぐに、ビルドを終了できます。
  3. ソリューションエクスプローラーの[生成されたファイル]の下に「Debug-foo」という名前の新しいフィルターを追加し、それに[追加]-> [既存のアイテム]を追加して、ビルドで作成したばかりのGeneratedFiles \ Debug-fooからすべてのmoc_(...)。cppファイルを選択します。 。
  4. 最後に、重要なことですが、Generated Files \ Debugフィルター内のすべてのファイルを選択し、[Properties]を選択して、[Excluded from build]をtrueに設定します。そうしないと、ビルドにDebugとDebug-fooの両方のmoc_ファイルが含まれます。

うまくいけば、これはアドインのいくつかの新しいバージョンで修正されるでしょう。多分それはすでに知っている人です(私はアドイン1.1.10でこの問題に遭遇しました)。

moc_生成のルールがどこに保存されているかについての質問の一部について。既存の構成のコピーとして構成を作成すると、それを必要とするすべてのファイルに対してmocを呼び出すためのカスタムビルド命令を追加する手間が省けます。これらは、チェックアウトする場合に「カスタムビルドツール」の下でモックする必要がある個々のヘッダーファイルのプロパティ内に保存されます。

于 2013-01-31T21:18:52.007 に答える