5

カスタム ビルド ツールとしてodbコンパイラを使用しています。入力ファイルが変更されていない場合でも、ビルド ツールは常に実行されています。

コマンドライン:

odb -Ic:\menuplan\src\ingredient -o c:\menuplan\src\ingredient  
 -d mysql --hxx-prologue "#include \"odb/traits.hxx\"" --generate-query  
--generate-schema --schema-format separate 
c:\menuplan\src\ingredient\ing_odb_category.hpp`  

入力ファイルは次のとおりです:
ing_odb_category.hpp.

出力:

ing_odb_category-odb.hxx;ing_odb_category-odb.ixx;ing_odb_category-odb.cxx;ing_odb_category-schema.cxx   

追加の依存関係:
ing_odb_category.hpp

説明:
odb ing_odb_category.hpp

Visual Studio 2010 からの出力:

2>------ Build started: Project: vs_2010, Configuration: Debug Win32 ------
2>  odb ing_odb_category.hpp

odbツールはをing_odb_category.hpp入力として受け取り、、、、ファイルを生成しing_odb_category-odb.hxxます。 ing_odb_category-odb.ixxing_odb_category-odb.cxxing_odb_category-schema.cxx

ing_odb_category.hppファイルが変更さ れなくても、ソリューションを連続して何度もビルドでき、カスタム ビルド イベントは常に実行されます。

ヘッダー ファイルが変更された場合に Visual Studio でカスタム ビルドのみを実行するにはどうすればよいですか?

vcxproj ファイルから:

<CustomBuild Include="..\ing_odb_category.hpp">
  <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">odb -Ic:\menuplan\src\ingredient -o c:\menuplan\src\ingredient -d mysql --hxx-prologue "#include \"odb/traits.hxx\"" --generate-query --generate-schema --schema-format separate  c:\menuplan\src\ingredient\ing_odb_category.hpp</Command>
  <Command Condition="'$(Configuration)|$(Platform)'=='Debug_Static_Unicode|Win32'">odb -Ic:\menuplan\src\ingredient -o c:\menuplan\src\ingredient -d mysql --hxx-prologue "#include \"odb/traits.hxx\"" --generate-query --generate-schema --schema-format separate  c:\menuplan\src\ingredient\ing_odb_category.hpp</Command>
  <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">odb ing_odb_category.hpp</Message>
  <Message Condition="'$(Configuration)|$(Platform)'=='Debug_Static_Unicode|Win32'">odb ing_odb_category.hpp</Message>
  <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ing_odb_category-odb.hxx;ing_odb_category-odb.ixx;ing_odb_category-odb.cxx;ing_odb_category-schema.cxx</Outputs>
  <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_Static_Unicode|Win32'">ing_odb_category-odb.hxx;ing_odb_category-odb.ixx;ing_odb_category-odb.cxx;ing_odb_category-schema.cxx</Outputs>
  <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ing_odb_category.hpp</AdditionalInputs>
</CustomBuild>

環境:

  • ビジュアル スタジオ 2010
  • Windows 7 - 64 ビット
4

1 に答える 1