5

Visual Studio Qt アドインを使用する Visual Studio Qt プロジェクトがあります。アドインは、UIC と MOC をそれぞれ実行するための Q_OBJECT 宣言を持つクラスを持つ .ui ファイルと各ヘッダー ファイルのカスタム ビルド ツールルールを自動的に作成します。

プロジェクト全体のカスタム ビルド ツールルールを追加するまで、これはすべて完全に機能します。この例では、ルールはReleaseビルドに固有であり、コード署名を呼び出し、Execute after: Buildに設定されています。この構成では、デバッグビルドは正しく機能しますが、リリースはMOC または UIC を自動的に実行しません。プロジェクト ブラウザーで Q_OBJECT ヘッダーと .ui ファイルを右クリックし、必要なすべてのファイルを手動で強制的にコンパイルできます。これらは正しく MOC および UIC され、ビルドできますが、クリーン後のリビルドまたはビルドは常に失敗します。 .

プロジェクトのカスタム ビルド ルールをプロジェクトに追加すると、 .ui および Q_OBJECT ヘッダーに関連付けられたカスタム ビルド ツールルールが抑制されたように見えるのはなぜですか?

4

1 に答える 1

4

カスタム ビルド ステップで、"execute after" を BuildGenerateSources に設定します。

これは、次の行を追加することにより、vcxproj-file で表されます。

<CustomBuildAfterTargets Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">BuildGenerateSources</CustomBuildAfterTargets>

<PropertyGroup>ブロックへ

于 2015-08-05T06:45:08.013 に答える