當我嘗試在我的某個DLL中使用Boost.Log時,我在dllinit.cpp中收到一個斷言。使用Boost.Log(或Boost.Thread)時dllinit.cpp行703中的MFC ASSERT
我有一個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>
但是這會導致內存泄漏? 這thread表示它將在1.40後修復,但我不知道,如果這已完成。 建議動態鏈接到Boost here沒有幫助。
詢問boost-users目前沒有幫助。
任何提示,我應該檢查什麼?
編輯: 它的配置爲標準DLL,但有一個dependecy上MFC100.dll,因爲我用的是API從afxwin.h獲得的應用程序的版本信息。
請提供意見,爲什麼你downvote所以我可以改進我的方式:) – Simon
你創建了什麼樣的DLL? MFC擴展DLL?標準DLL? MFC鏈接靜態或動態? – xMRi