ソース コードを含まない VS 2010 vcxproj があります。PreBuildEvent は、サード パーティ ツールを使用してソース コードを src\ ディレクトリに生成するバッチ ファイルを呼び出します。それはうまくいきます。問題は、ソース コードが初めて生成されるとき (またはクリーンの後) に、VisualStudio が生成されたソースを実際にコンパイルしないことです。後続のビルドでは、コンパイルされます。これは私の CI ビルド マシンの問題であるだけでなく、開発者にとっても厄介です。これらの生成されたファイルを VS に認識させる方法はありますか?
これが私の.vcxprojからのスニペットです
<ItemDefinitionGroup>
<PreBuildEvent>
<Message>Generating from IDL </Message>
<Command>genNAPIEMsgs.bat</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\*.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\*.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ItemGroup>
<DDSGeneratedFiles Include="src\*.cpp" />
<DDSGeneratedFiles Include="src\*.h" />
</ItemGroup>
<Target Name="AfterClean">
<Message Text="AfterClean target: removing generated source code" />
<Delete Files="@(DDSGeneratedFiles)" />
</Target>