我正在从我在这里找到的一些源代码构建一个 python 应用程序
我已经设法通过搜索网络来编译和修复一些问题,但我被困在这一点上:
运行应用程序时会出现此消息。
替代文字 http://img511.imageshack.us/img511/4481/loadfr0.png
这个 python 应用程序使用 swig 链接到 c/c++ 代码。
我有 VC++2005 速成版,我用它与 scons 和 Python 2.5 一起编译(也尝试过 2.4)
试图加载的 dll 是“msvcr80.dll”,因为在消息是“msvcr80.dll”之前找不到或类似的东西,所以我得到它并将它放在 window32 文件夹中。
对于我在这里读到的内容: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>
我现在要尝试 Python 2.6,我不太确定是否理解这个问题,但是 Python 2.5 和 Python 2.5 .exe 在 .exe 文件中有字符串“MSVCR71.dll”。但这可能无关紧要。
附言。如果一切都像 jar 文件一样简单:(
这是完整性的堆栈跟踪
None
INFO:root:Skipping provider enso.platform.osx.
INFO:root:Skipping provider enso.platform.linux.
INFO:root:Added provider enso.platform.win32.
Traceback (most recent call last):
File "scripts\run_enso.py", line 24, in <module>
enso.run()
File "C:\oreyes\apps\enso\enso-read-only\enso\__init__.py", line 40, in run
from enso.events import EventManager
File "C:\oreyes\apps\enso\enso-read-only\enso\events.py", line 60, in <module>
from enso import input
File "C:\oreyes\apps\enso\enso-read-only\enso\input\__init__.py", line 3, in <module>
_input = enso.providers.getInterface( "input" )
File "C:\oreyes\apps\enso\enso-read-only\enso\providers.py", line 137, in getInterface
interface = provider.provideInterface( name )
File "C:\oreyes\apps\enso\enso-read-only\enso\platform\win32\__init__.py", line 48, in provideInterface
import enso.platform.win32.input
File "C:\oreyes\apps\enso\enso-read-only\enso\platform\win32\input\__init__.py", line 3, in <module>
from InputManager import *
File "C:\oreyes\apps\enso\enso-read-only\enso\platform\win32\input\InputManager.py", line 7, in <module>
import _InputManager
ImportError: DLL load failed: Error en una rutina de inicializaci¾n de biblioteca de vÝnculos dinßmicos (DLL).