当我尝试在我的一个 DLL 中使用 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没有帮助。
到目前为止,询问boost-users并没有帮助。
任何提示,我应该检查什么?
编辑: 它被配置为标准 DLL,但对 MFC100.dll 有依赖,因为我使用 afxwin.h 中的 API 来获取应用程序的版本信息。