boost时未从32位COM服务器实例化64位COM服务器/Python.hpp包括

2024-04-18 02:34:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个COM服务器(exe):一个64位的和一个32位的。32位COM服务器实例化(CoCreateInstance)64位COM服务器。只要64位COM服务器不包含boost,就可以成功/Python.hpp. 但是,一旦我加入boost/Python.hpp在64位COM服务器项目中,CoCreateInstance失败:0x80080005(“服务器执行失败”)作为HRESULT返回。在boost时独立启动64位COM服务器/Python.hpp不过,它也很好用。你知道吗

总结一下:

  • 64位COM服务器不包括boost/Python.hpp:从32位服务器创建64位COM服务器的CoCreateInstance工作正常

  • 64位COM服务器包括boost/Python.hpp:来自32位服务器的64位COM服务器的CoCreateInstance失败,错误为0x80080005(“服务器执行失败”)

  • 64位COM服务器包括boost/Python.hpp并且是独立启动的(不启动32位COM服务器):64位COM服务器启动时没有任何问题

  • 64位COM服务器包括boost/Python.hpp并且在32位COM服务器启动之前启动:来自32位服务器的64位COM服务器的CoCreateInstance失败,错误为0x80080005(“服务器执行失败”)

我被困住了,希望有人能帮我。为什么包括boost/Python.hpp在这种情况下会导致错误吗?有什么建议或具体的解决办法吗?你知道吗


Tags: 项目实例服务器com错误情况exe建议