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