DLL の 1 つで Boost.Log を使用しようとすると、dllinit.cpp でアサーションを受け取ります。
ログ機能を含む tools.dll があり、Boost.Log を使用してログを記録するように実装しようとしました。この tools.dll は別の helper.dll によって参照されており、両方の DLL がアプリケーションで使用されています。
ただし、アプリケーションを起動すると、ASSERT が発生します。
これは、Boost 1.54 と (付属の) Boost.Log、Boost 1.48 と Boost.Log 1.1 で発生します。
たくさんのメーリング リストや古い投稿を掘り下げました。私がこれまでに理解したことは、Boost.Thread の _pRawDllMain ポインターに問題があり、コメントアウトすることを提案した人もいます
#include <boost/thread/detail/tss_hooks.hpp>
しかし、これはメモリリークにつながりますか?このスレッドは、1.40 以降に修正されると述べていましたが、これが行われたかどうかはわかりません。ここで提案されている Boost への動的リンクは役に立ちませんでした。
ブーストユーザーに尋ねることは、これまでのところ役に立ちませんでした.
ヒント、何を確認すればよいですか?
編集: 標準の DLL として構成されていますが、afxwin.h から API を使用してアプリケーションのバージョン情報を取得するため、MFC100.dll に依存しています。