私は、サードパーティの静的ライブラリ (ここでは EXTERNALLIB と呼ばれます) にリンクするプロジェクトに取り組んでいます。Visual Studio 2005 では、EXTERNALLIB にリンクして、使用可能な実行可能ファイルを作成することができました。現在、Visual Studio 2008 を使用していますが、次のエラーが表示されます。
fatal error C1047: The object or library file EXTERNALLIB was created with an older compiler than other objects; rebuild old objects and libraries.
EXTERNALLIB に正しくリンクするようにコンパイラに指示する方法はありますか? この問題は、特定の呼び出し規約 (__stdcall、__cdecl、__clrcall、__thiscall) に関連していると思われます。新しいプログラムで古いライブラリの正しい呼び出し規約を示すことはできますか? 今後のコンパイラのアップグレードでこの問題が発生しないように、ベンダーに提供できる特定のフィードバック (ヘッダー ファイルで APIENTRY を使用するなど) はありますか?
コードは C++ で書かれています。EXTERNALLIB のコードにアクセスできないため、自分で再構築することができません。