2012-03-19 16 views
16

私は自分のPythonコードをVimのomnicompletionを使用しようとしていたが、私はC-X + C-Oを試みるたびに、次のエラーメッセージが要求されます:ランタイムエラー

ランタイムエラーを!

プログラムE:\ Vimの\ vim73 \ gvim.exe

R6034 アプリケーションが間違ってCランタイムライブラリをロードしようとする試みを行っています。 詳細については、アプリケーションのサポートチームにお問い合わせください。

誰でもこの問題の解決方法を教えてください。とても感謝しています!

答えて

22

gvimがpython pyd dllを読み込めないのと同じ問題があります。上記の問題の原因となる.pyd dllを解決するヒントがいくつかあります。私はすべてのDLLのランタイムエラーを解決する方法があるかどうかはわかりません。 Not embed the correct manifest for the msvc runtimes on windowsにご連絡ください。問題の解決方法のリンクをご覧ください。

更新: .pydファイルのマニフェストを更新する代わりに。私はpython.exeマニフェストからいくつかの変更を加えて元のgvimマニフェストを更新することによって、gvimのマニフェストを直接更新しようとしました。以下は

# dump manifest from gvim.exe 
>> mt.exe -inputresource:gvim.exe;#1 -out:gvim.manifest 

# dump manifest from python.exe 
# *I use python26 for gvim, default gvim come with python27 
>> mt.exe -inputresource:c:\python26\python.exe;#1 -out:python.manifest 

# manually edit gvim.manifest, just change the line with dependentAssembly with 
# line from the python.manifest which will depend on VC90.CRT 
# Then, update the edited manifest into gvim.exe 
>> mt.exe -manifest gvim.manifest -outputresource:gvim.exe;1 

私の編集したgvim.manifestです:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> 
    <assemblyIdentity processorArchitecture="*" version="7.3.0.0" type="win32" name="Vim"></assemblyIdentity> 
    <description>Vi Improved - A Text Editor</description> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> 
    </dependentAssembly> 
    </dependency> 

    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <security> 
     <requestedPrivileges> 
     <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 

    <asmv3:application> 
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> 
     <dpiAware>true</dpiAware> 
    </asmv3:windowsSettings> 
    </asmv3:application> 
</assembly> 
+2

あなたは男です!どうもありがとう! –

+2

+1それはこれに来なければならないというのはばかげているが、これは問題を解決した。 – Hubro

+0

私の環境のために、私はvimとpythonを一緒にうまくプレイさせるのに苦労しました。上記のようにgvimのマニフェストを変更すると、私の問題は完全に解決されました。私はこれを考えなかったでしょう。ありがとう! – Mark

4

私は同じ問題(Windows 7の)を持っていたと私はmsvcr90.dllが含まれている私のPATH変数からパスを削除することによってそれを解決することができます。

いくつかのエントリを削除すると、エラーがポップアップしなくなりました。残念ながら、私は削除したエントリを書き留めませんでした。しかし、それはC:\Program Files (x86)\OpenVPN\binとWindows Liveを含むいくつかの他のものでした。

私はここ(ページの下部)からのパスに問題を探しに関するヒントを得た:https://bitbucket.org/Haroogan/vim-youcompleteme-for-windows/src

+2

あなたの解決策をお寄せいただきありがとうございます。私の場合は最近インストールしたcmakeでした:) – Maciek

+0

これについて言及してくれてありがとう@Maciek、私の場合もcmakeでした。私はそれが私のシステムにインストールされているので、単にそれをそこに保持する必要はないので、単にディレクトリからランタイムdllを削除しました。 –

+0

ありがとう!私はこの問題を引き起こしていた作業ディレクトリにmsvcr90.dllを持っていました。 – randlet