在ActiveX控件中使用时,boost :: mutex标头是否存在已知问题?
(提升版本v1.39)
如果我在Visual Studio 2008中创建名为"DefaultOCXControl"的MFC ActiveX控件项目,那么我可以构建它,控件将自身注册为构建的一部分,并且可以像您期望的那样插入到ActiveX测试容器中.都好.
如果我然后添加此行:
#include <boost/thread/mutex.hpp>
Run Code Online (Sandbox Code Playgroud)
在我的DefaultOCXControlCtrl.h文件顶部并重建:构建结束时的注册步骤失败:
调试断言失败!
程序:C:\ Windows\system32\regsvr32.exe
文件:f:\ dd\vctools\vc7libs\ship\atlmfc\src\mfc\dllinit.cpp
行:587
令人不快的断言看起来像这样:
void AFXAPI AfxCoreInitModule()
{
ASSERT(AfxGetModuleState() != AfxGetAppModuleState());
...
Run Code Online (Sandbox Code Playgroud)
尝试将控件插入ActiveX测试容器现在会产生相同的消息.如果我删除该行并重建然后一切都很好 - 所以它肯定似乎是该头文件中导致问题的东西.