WinXP,VisualStudio 2005上的boost.python“DLL加载失败”

时间:2011-06-27 12:07:46

标签: python visual-studio-2005 windows-xp boost-python

我在WinXP-32上导入boost-python模块时遇到问题。 我正在使用python 2.6.6,boost.python 1.41 precompiled libs by boostpro和VC ++ 8(VisualStudio 2005)。

在编译下面的代码之后,我尝试从python命令行导入生成的pyHELLO.pyd并始终得到:

  

“ImportError:DLL加载失败:这个   应用程序无法启动   因为应用程序配置   是不正确的。重新安装   应用程序可以解决这个问题。“

我重新安装了python并尝试了其他的boost版本。但它都没有帮助。

我在尝试导入模块的目录中有相应的boost dll。

相同的代码适用于Win7下的VC ++ 9。

以下是代码:

int sayHello() {
    cout << "Hello  !" << endl; 
}


BOOST_PYTHON_MODULE(pyBoostTest)
{
    def("sayHello", sayHello);
}

任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:0)

解决:

我的机器上缺少boost.python dll所依赖的MSVC80CRT dll的正确版本。我从MS下载了相应的redist包并安装了它。现在它有效。

dependencywaler没有显示此dll缺少依赖项。 在阅读了清单和SxS之后,我发现了正确的dll版本 在清单中,它本身嵌入在dll标题中。

如果在Visual Studio中打开dll,则可以阅读该信息。然后你检查一下 dll版本存在于c:\ windows \ winsxs文件夹中。如果没有,你可以找回失踪 通过从MS下载相应的“redist”包来实现。只需搜索dll版本。

感谢大卫提供清单上的提示。