从python加载dll

2024-10-01 09:29:15 发布

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

我正在用我找到的一些源代码构建一个python应用程序Here

我已经通过搜索网络成功地编译和修复了一些问题,但我在这一点上陷入了困境:

运行应用程序时,出现此消息。在

alt text http://img511.imageshack.us/img511/4481/loadfr0.png

这个python应用程序,使用swig链接到c/c++代码。在

我有VC++2005速成版,我用它和scons一起编译 和Python2.5(也尝试过2.4)

试图加载的dll是“msvcr80.dll”,因为在消息之前找不到“msvcr80.dll”或类似的东西,所以我得到它并将它放到windows32文件夹中。在

我在这里读到的: http://msdn.microsoft.com/en-us/library/ms235591(VS.80).aspx

解决方案是使用清单和dll文件运行MT。我也没用。在

谁能告诉我正确的方向吗?在

这是舱单的内容:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>

我现在要试试Python2.6,我不太确定是否理解这个问题,但是Python2.5和Python2.5.exe在.exe文件中有字符串“MSVCR71.dll”。但这可能与此无关。在

如果一切都像jar文件一样简单的话:(

这是完整性的堆栈跟踪

^{pr2}$

Tags: 文件com应用程序http消息versionassemblydependency
3条回答

看看您的更新,您似乎需要安装Pycairo,因为您缺少作为Pycairo一部分安装的_cairo模块。有关如何获取/安装Windows二进制文件的说明,请参阅Pycairo downloads page。在

我已经能够通过使用/LD作为编译器标志来编译和运行Enso。这会动态链接到MS VisualC++运行时,并且允许您在没有清单的情况下离开。在

如果您使用的是scon,请参阅下面的diff文件:http://paste2.org/p/69732

您可能需要安装VC++运行时可再发行程序。它们的链接是here。在

相关问题 更多 >