テーブルが.tblファイルで定義されたカスタムオブジェクトリレーショナルマッピングシステムを使用するC++プロジェクトがあります。これらは、.hと.cppファイルをそれぞれ作成するコードジェネレータを介して実行されます。複数の出力を持つVisual Studioのカスタムビルドルール
<?xml version="1.0" encoding="utf-8"?>
<VisualStudioToolFile
Name="z_dbbld"
Version="8.00"
>
<Rules>
<CustomBuildRule
Name="z_dbbld"
DisplayName="z_dbbld"
CommandLine="$(SolutionDir)\tools\z_dbbld $(InputName)"
Outputs="$(InputName).cpp"
FileExtensions="*.tbl"
ExecutionDescription="z_dbbld $(InputName)"
>
<Properties>
</Properties>
</CustomBuildRule>
</Rules>
</VisualStudioToolFile>
問題は依存関係である:
私は、Visual Studio 2008と2010
これはで、このために働いてカスタムビルドルールを取得しようとしているが、私はこれまで、持っているものです。ファイルが存在しないクリーンなチェックアウトでビルドを実行すると、このルールによって生成された.hファイルに対して「ファイルを開くことができません」というエラーが表示されます。
出力を「$(InputName).h」に変更しようとしましたが、まだエラーが発生します。
ここで、コードジェネレータが実行されるときに、これらのファイルが作成されることです。私が再びコンパイルすると、すべてのファイルが最初のパスで作成されたため、エラーは発生しません。しかし、それはきれいな、自動化された、新鮮なチェックアウトからビルドを動作させることはありません。
アイデア?
出力ファイルをビルドのメイン部分に追加します。私の問題は、.hと.cppをビルドに追加し、.tblから.hを生成できるというルールがあると、.cppを見つけることができないと不平を言います。それは.tblから.cppを生成することができるというルールでは、.htlを見つけることができないと言います。ルールでラップされたツールは両方を生成しますが、それを伝えるルールを設定する方法を見つけることはできません。 –
'のドキュメントから、複数のファイルをセミコロンで区切ってリストすることができます。 –
sblom