そのため、ランタイムライブラリをリンクできない、または例外を使用できない環境で作業しています。ただし、BOOSTまたはSTLのいずれかを利用したいと考えています。最初に、boost :: container :: string / vector / map / ...でリンクを試みましたが、リンカーエラーを解決できませんでした。
そのため、現在、STLのヘッダーにリンクしようとしています。そのために、次のプリプロセッサディレクティブを定義しました。
#define _HAS_ITERATOR_DEBUGGING 0
#define _HAS_EXCEPTIONS 0
#includeと正常にリンクでき、std :: vectorをインスタンス化できますが、push_back(32);を呼び出すと、ベクトル上で、次のリンカーエラーが表示されます。
error LNK2001: unresolved external symbol "void (__cdecl* std::_Raise_handler)(class stdext::exception const &)" (?_Raise_handler@std@@3P6AXAEBVexception@stdext@@@ZEA)
error LNK2001: unresolved external symbol _invoke_watson
error LNK2001: unresolved external symbol "void __cdecl std::_Xlength_error(char const *)" (?_Xlength_error@std@@YAXPEBD@Z)
Visual Studio 2010(およびデフォルトのコンパイラ)を使用しています。近い将来、vs2012への移行を検討しています。これらのエラーの解決に役立つ場合は、迅速に移行できる可能性があります。
これらの制限(例外なし、ランタイムライブラリなし)の下でブーストまたはSTLのいずれかをリンクする方法はありますか?
ありがとう!環境制限があるため、STL/ブーストのメリットを見逃したくありません。