Boost.Python示例,Windows 7 x64,“ImportError:DLL加载失败:找不到指定的模块。”

时间:2011-11-13 12:56:36

标签: python windows-7 import boost-python

我花了两天的时间尝试从Boost.Python中启动示例,其中“ImportError:DLL加载失败:无法找到指定的模块”错误,同时尝试加载已编译(使用bjam)的pyd模块。我使用的是Windows 7 x64,Python 2.7 x64和Boost 1.47。我在StackOverflow和其他网站上跟进了不同的答案。全新安装(Python 32和64位,Boost预编译),手动Boost的库构建,DLL检查与依赖步行器等等,没有运气。我已注册分享解决方案,该解决方案在这里工作,我希望可以帮助某人,努力解决相同的错误;)

3 个答案:

答案 0 :(得分:4)

两个解决方案,无需使用regedit

  1. 在构建你的dll时添加BOOST_PYTHON_STATIC_LIB marco。它会让 boost.python静态链接到您的DLL文件而不是动态加载 在运行时。
  2. 将boost.python dll添加到PATH或将其复制到您的dll所在的同一目录

答案 1 :(得分:2)

问题在于KB2264107 Windows更新(http://support.microsoft.com/kb/2264107),“搞乱”DLL搜索例程(安全修复程序)。设置注册表值[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager]:CWDIllegalInDllSearch为0,允许正确加载DLL文件并正确导入.pyd模块。这可能也发生在其他Windows版本上。

答案 2 :(得分:0)

我的解决方案是下载 microsoft visual c ++ 2015 redistribute https://www.microsoft.com/en-us/download/details.aspx?id=48145