Microsoft Visual Studio Professional 2010 の下に c++ qt5 プロジェクトがあります。Microsoft Visual 2005 でコンパイルされ、STL のビジュアル 2005 バージョンに依存するライブラリ .lib をプロジェクトに含める必要があります。その結果、プロジェクトをコンパイルしようとすると、次のリンク エラーが発生しました (最初の 3 つのエラーを次に示します)。
libmegamatching.lib(BImage.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)" (__imp_?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z)
libmegamatching.lib(makeCanonicalImage.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)" (__imp_?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z)
M_Control.lib(Logger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)" (__imp_?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z)
私の同僚は、ライブラリを Microsoft 管理の C++ ライブラリにカプセル化することでこの問題を解決しましたが、プロジェクトに .NET 依存関係を追加することに興奮していないため、私はまだ試していません。他の解決策はありますか?もちろん、ビジュアル 2010 でライブラリを再コンパイルすることも、ビジュアル バージョンを変更することもできません。
ビジュアル 2005 std ライブラリ .lib を作成することを考えていましたが、それを行う方法があるかどうかわかりません。
前もって感謝します