VS2005 と VS2008 を同じマシンにインストールしています。'05 と '08 の両方を使用して構築した共通のコードベースもあります。この目的のために、私は 2 つの VC プロジェクトを持っています。XYZ_2008.vcproj と呼ばれる '08 プロジェクトとXYZ_2005.vcprojと呼ばれる '05 プロジェクト、および対応する 2 つの slns も同様です。どちらのプロジェクトも、dll、lib、および pdb を同じ出力ディレクトリに出力します (すべて適切な _2005 および _2008 サフィックスが付いています)。
クリーンな状態から開始すると仮定すると、まず VS2005 で XYZ_2005.sln (XYZ_2005.vcproj を含む) を開き、正常にビルドします。次に、VS2005 を閉じます。
次に、XYZ_2008.sln (XYZ_2008.vcproj を含む) を開いてビルドします (再ビルドではありません)。この時点で、次のエラーが表示されます。
LINK : fatal error LNK1104: cannot open file 'mfc80u.lib'
'08 ソリューションを再ビルドすると、エラーはなくなり、ビルドは成功します。'08 sln のビルドではなく、直接リビルドを行った場合も、ビルドは成功します。
すべてが分離されているにもかかわらず、VS08 ビルドは MFC9 ファイルではなく (VS05 から) MFC8 ファイルを取得しているようです。
誰かがこの問題を手伝ってくれませんか?
前もって感謝します!