Visual Studioでは、foo.idlをコンパイルすると、MIDLはfoo_p.cにプロキシ情報を生成します。
残念ながら、Win32ファイルとx64ファイルの場合、同じファイル名を使用します。Win32の場合、ファイルは次で始まります。
#if !defined(_M_IA64) && !defined(_M_AMD64)
x64の場合、ファイルは次で始まります。
#if defined(_M_AMD64)
Win32用にビルドしてすぐにx64用にビルドすると、foo_p.cファイルは置き換えられません。つまり、プロジェクトはリンクに失敗します。
アーキテクチャが間違っている場合にfoo_p.cファイルを削除するビルド前のイベントを試してみましたが、VSはそのステップを実行することすらしません。
1つの構成を構築してから、もう1つの構成を構築できるようにするには、どうすればよいですか?