質問

こちら <を見つけたソースコードからPythonアプリケーションを構築しています/ p>

ウェブを検索することでいくつかの問題をコンパイルして修正できましたが、この時点で立ち往生しています:

アプリケーションを実行すると、このメッセージが表示されます。

代替テキストhttp://img511.imageshack.us/img511/4481/loadfr0 .png

このpythonアプリは、c / c ++コードにリンクするためにswigを使用します。

sconsとともにコンパイルするために使用したVC ++ 2005 Expressエディションがあります およびPython 2.5(および2.4も試しました)

ロードしようとしているdllは、「msvcr80.dll」です。メッセージが&quot; msvcr80.dll&quot;になる前に見つからないか、そのようなものなので、私はそれを入手して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には文字列「MSVCR71.dll」がありました。 .exeファイル内。しかし、おそらくこれは何の関係もない。

ps。すべてが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).
役に立ちましたか?

解決

コンパイラフラグとして/ LDを使用してEnsoをコンパイルおよび実行できました。これは、MS Visual C ++ランタイムに動的にリンクし、マニフェストなしで逃げることができるようです。

SConsを使用している場合は、次のdiffファイルを参照してください。 http://paste2.org/p/ 69732

他のヒント

アップデートを見ると、行方不明になっているため、 Pycairo をインストールする必要があるようです。 Pycairoの一部としてインストールされた_cairoモジュール。 Windows用のバイナリを取得/インストールする方法については、 Pycairoダウンロードページをご覧ください。

おそらく、VC ++ランタイムの再頒布可能パッケージをインストールする必要があります。それらへのリンクはこちらです。

更新 python2.6とVS C ++ Express Edition 2008をダウンロードしましたが、msvcr80.dllの問題はなくなりました(PythonとVSC ++ 2008xeがmsvscr90.dllを使用しているためと思われます)

/ LDおよびすべての変更を以下にリストしてコンパイルしました: http://paste2.org/p / 69732

そして今、問題は次のとおりです:

INFO:root:Skipping provider enso.platform.osx.
INFO:root:Skipping provider enso.platform.linux.
INFO:root:Added provider enso.platform.win32.
INFO:root:Obtained interface 'input' from provider 'enso.platform.win32'.
Traceback (most recent call last):
  File "scripts\run_enso.py", line 23, in <module>
    enso.run()
  File "C:\oreyes\apps\enso\enso-comunity\enso\__init__.py", line 41, in run
    from enso.quasimode import Quasimode
  File "C:\oreyes\apps\enso\enso-comunity\enso\quasimode\__init__.py", line 62, in <module>
    from enso.quasimode.window import TheQuasimodeWindow
  File "C:\oreyes\apps\enso\enso-comunity\enso\quasimode\window.py", line 65, in <module>
    from enso.quasimode.linewindows import TextWindow
  File "C:\oreyes\apps\enso\enso-comunity\enso\quasimode\linewindows.py", line 44, in <module>
    from enso import cairo
  File "C:\oreyes\apps\enso\enso-comunity\enso\cairo.py", line 3, in <module>
    __cairoImpl = enso.providers.getInterface( "cairo" )
  File "C:\oreyes\apps\enso\enso-comunity\enso\providers.py", line 137, in getInterface
    interface = provider.provideInterface( name )
  File "C:\oreyes\apps\enso\enso-comunity\enso\platform\win32\__init__.py", line 61, in provideInterface
    import enso.platform.win32.cairo
  File "C:\oreyes\apps\enso\enso-comunity\enso\platform\win32\cairo\__init__.py", line 1, in <module>
    from _cairo import *
ImportError: No module named _cairo
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top