0

Visual Studio 6 でコンパイル、リンク、正常に動作する DLL プロジェクトがあります。

これで、Visual Studio 2010 にロードされました。古い .dsp ファイルのインポート中に、VS2010 から .vcxproj ファイルへの変換を求められました。その後、新しく変換されたプロジェクトをコンパイルしようとしましたが、デバッグ ビルドでこの奇妙なリンカー エラーに出くわしました。

error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in function "public: struct oapc_bin_head * const & __thiscall std::_Deque_const_iterator<struct oapc_bin_head *,class std::allocator<struct oapc_bin_head *> >::operator*(void)const " (??D?$_Deque_const_iterator@PAUoapc_bin_head@@V?$allocator@PAUoapc_bin_head@@@std@@@std@@QBEABQAUoapc_bin_head@@XZ)

_DEBUG コンパイル スイッチはデバッグ モードで定義され、NDEBUG はリリース モードで定義されます。驚くべきことに、リリース モードでは、エラーはまったく異なります。

error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl std::_Xlength_error(char const *)" (__imp_?_Xlength_error@std@@YAXPBD@Z) referenced in function "protected: void __thiscall std::deque<struct oapc_bin_head *,class std::allocator<struct oapc_bin_head *> >::_Xlen(void)const " (?_Xlen@?$deque@PAUoapc_bin_head@@V?$allocator@PAUoapc_bin_head@@@std@@@std@@IBEXXZ)

プロジェクト ファイルの変換中に失われたものはありますか?

ありがとう!

4

1 に答える 1

0

std dll へのリンクに何らかの問題があるようです。リンクにdllを追加しないだけで、2つのうちの1つをx64で、もう1つをx86で構築するようなものになる可能性があります。

ビジュアルスタジオが使用するリンカーコマンドを投稿できますか?

于 2013-06-24T08:24:06.487 に答える