• <small id='FM237'></small><noframes id='FM237'>

    <i id='FM237'><tr id='FM237'><dt id='FM237'><q id='FM237'><span id='FM237'><b id='FM237'><form id='FM237'><ins id='FM237'></ins><ul id='FM237'></ul><sub id='FM237'></sub></form><legend id='FM237'></legend><bdo id='FM237'><pre id='FM237'><center id='FM237'></center></pre></bdo></b><th id='FM237'></th></span></q></dt></tr></i><div id='FM237'><tfoot id='FM237'></tfoot><dl id='FM237'><fieldset id='FM237'></fieldset></dl></div>
  • <legend id='FM237'><style id='FM237'><dir id='FM237'><q id='FM237'></q></dir></style></legend>
  • <tfoot id='FM237'></tfoot>

      • <bdo id='FM237'></bdo><ul id='FM237'></ul>

        添加 #include <boost/thread/mutex.hpp>破坏了我的

        时间:2023-10-06

        <tfoot id='xUGdb'></tfoot>

          <small id='xUGdb'></small><noframes id='xUGdb'>

            <tbody id='xUGdb'></tbody>

              <i id='xUGdb'><tr id='xUGdb'><dt id='xUGdb'><q id='xUGdb'><span id='xUGdb'><b id='xUGdb'><form id='xUGdb'><ins id='xUGdb'></ins><ul id='xUGdb'></ul><sub id='xUGdb'></sub></form><legend id='xUGdb'></legend><bdo id='xUGdb'><pre id='xUGdb'><center id='xUGdb'></center></pre></bdo></b><th id='xUGdb'></th></span></q></dt></tr></i><div id='xUGdb'><tfoot id='xUGdb'></tfoot><dl id='xUGdb'><fieldset id='xUGdb'></fieldset></dl></div>

                • <bdo id='xUGdb'></bdo><ul id='xUGdb'></ul>
                • <legend id='xUGdb'><style id='xUGdb'><dir id='xUGdb'><q id='xUGdb'></q></dir></style></legend>
                  本文介绍了添加 #include <boost/thread/mutex.hpp>破坏了我的 ActiveX 控件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  在 ActiveX 控件中使用时 boost::mutex 标头是否存在已知问题?
                  (Boost 版本 v1.39)

                  如果我在 Visual Studio 2008 中创建一个名为 "DefaultOCXControl"MFC ActiveX Control 项目,那么我可以构建它,该控件将自身注册为构建的一部分,并且可以按照您的预期插入到 ActiveX 测试容器中.一切都很好.

                  If I create an MFC ActiveX Control project in Visual Studio 2008 called "DefaultOCXControl" then I can build it, the control registers itself as part of the build, and can be inserted into the ActiveX Test Container as you would expect. All good.

                  如果我再添加这一行:

                  #include <boost/thread/mutex.hpp>
                  

                  在我的 DefaultOCXControlCtrl.h 文件的顶部并重新构建:构建结束时的注册步骤失败:

                  at the top of my DefaultOCXControlCtrl.h file and rebuild: the registration step at the end of the build fails with:

                  调试断言失败!
                  程序:C:Windowssystem32 egsvr32.exe
                  文件:f:ddvctoolsvc7libsshipatlmfcsrcmfcdllinit.cpp
                  行:587

                  Debug Assertion Failed!
                  Program: C:Windowssystem32 egsvr32.exe
                  File: f:ddvctoolsvc7libsshipatlmfcsrcmfcdllinit.cpp
                  Line: 587

                  违规断言如下所示:

                  void AFXAPI AfxCoreInitModule()
                  {
                      ASSERT(AfxGetModuleState() != AfxGetAppModuleState());
                      ...
                  

                  现在尝试将控件插入 ActiveX 测试容器会产生相同的消息.如果我删除该行并重新构建,那么一切都很好 - 所以它肯定是该头文件中的某些内容导致了问题.

                  Attempting to insert the control into the ActiveX Test Container now results in the same message. If I remove the line and rebuild then everything is fine - so it definitely seems to be something in that header file that causes the issue.

                  推荐答案

                  您是否尝试过动态链接 boost::thread(定义 BOOST_THREAD_DYN_LINK)?

                  Have you tried linking boost::thread dynamically (define BOOST_THREAD_DYN_LINK)?

                  我在将 boost::thread 与混合 C++/.NET 项目一起使用时遇到了这种问题,并且只动态链接 boost::thread 是解决方案(这里一个可能的解释:http://article.gmane.org/gmane.comp.lib.boost.user/22617/match=clr)

                  I had this kind of problems when using boost::thread with a mixed C++/.NET project and linking just boost::thread dynamically was the solution (here a possible explanation: http://article.gmane.org/gmane.comp.lib.boost.user/22617/match=clr)

                  这篇关于添加 #include <boost/thread/mutex.hpp>破坏了我的 ActiveX 控件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:在 C++ 中执行另一个程序 下一篇:如何在 VC++ 中将 HICON 转换为 HBITMAP?

                  相关文章

                  最新文章

                    <small id='Kh73Z'></small><noframes id='Kh73Z'>

                  1. <legend id='Kh73Z'><style id='Kh73Z'><dir id='Kh73Z'><q id='Kh73Z'></q></dir></style></legend>
                    <i id='Kh73Z'><tr id='Kh73Z'><dt id='Kh73Z'><q id='Kh73Z'><span id='Kh73Z'><b id='Kh73Z'><form id='Kh73Z'><ins id='Kh73Z'></ins><ul id='Kh73Z'></ul><sub id='Kh73Z'></sub></form><legend id='Kh73Z'></legend><bdo id='Kh73Z'><pre id='Kh73Z'><center id='Kh73Z'></center></pre></bdo></b><th id='Kh73Z'></th></span></q></dt></tr></i><div id='Kh73Z'><tfoot id='Kh73Z'></tfoot><dl id='Kh73Z'><fieldset id='Kh73Z'></fieldset></dl></div>
                      <bdo id='Kh73Z'></bdo><ul id='Kh73Z'></ul>
                    <tfoot id='Kh73Z'></tfoot>