VS2003 でエラーなく正常に動作するプロジェクトがありますが、何らかの理由で 2010 に更新する必要があります。プロジェクトを更新した後、プロジェクトをビルドすると、次のエラーが発生します。
1.errorLNK1179:Invalid or corrupt files :duplicate comdat“IIDIDispatchEx”
2.IIDIDispatchEx duplicate initialization on file dispeX.h(121)
LNK1179 について私が見つけたのは、/h
COMDAT で /Gy をパッケージ化する際に、複数の COMDAT を同じ名前で共有し、外部名の長さを制限するために使用することによって、エラーが発生した可能性があるということです。しかし、コードで使用されるオプション
はなく、無効にしました。それでもエラーが発生しました。/H
/Gy
で検索dispeX.h
したら、 で見つかりましたMicrosoftSDKs\Windows\v7.0A\Include\
。121 行目のコードは次のとおりです。
DEFINEGUID(IIDIDispatchEx, 0xa6ef9860, 0xc720, 0x11d0, 0x93, 0x37, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);
これを解決する方法がわかりません。ヘルプ、説明、または正しい方向へのガイドは大歓迎です。