Visual Studio 2012 C++/CLI で yacc と lex を使用しており、以下の画像に示すように yacc ソース ファイルのカスタム ビルド ステップを作成しました。
出力ファイルには 2 つの依存関係があります。これらは、yacc ソース ファイル icl5kyacc.y と yyparse.c テンプレート ファイルです。ソリューションをビルドするたびに、yyparse.c および icl5kyacc.y ソース ファイルが変更されていない場合でも、カスタム ビルド ステップが実行されます。ビルド後のディレクトリ一覧は次のとおりです。
21-Sep-2012 10:19:18p 28,210 A icl5kyacc.y
17-Sep-2012 7:32:06p 9,042 A yyparse.c
22-Sep-2012 11:43:56a 38,233 A ICL5KYACC.cpp
22-Sep-2012 11:43:56a 2,160 A icl5kyacc.h
そして、再びビルドした後
2> icl5kyacc.y から icl5kyacc.cpp を生成する
21-Sep-2012 10:19:18p 28,210 A icl5kyacc.y
17-Sep-2012 7:32:06p 9,042 A yyparse.c
22-Sep-2012 11:45:46a 38,233 A ICL5KYACC.cpp
22-Sep-2012 11:45:46a 2,160 A icl5kyacc.h
カスタム ビルド ステップを使用すると、ビルド ステップの入力ファイルと出力ファイルの間に標準の依存関係ルールが自動的に適用されると考えるのは間違っていますか? 私が興味を持っていることの 1 つは、%(AdditionalInputs)マクロです。このマクロは、Studio が [追加の依存関係] の下に配置してくれました。それが何であるか、または変更中のファイルを何らかの形で指している場合はわかりません。