Ошибка выполнения с Vim Omnicompletion - PullRequest
16 голосов
/ 19 марта 2012

Я пытался использовать omnicompletion Vim с моим кодом Python, но всякий раз, когда я пробую Cx + Co, он выдает следующее сообщение об ошибке:

Ошибка выполнения!

Программа E: \ Vim \ vim73 \ gvim.exe

R6034 Приложение попыталось загрузить библиотеку времени выполнения C неправильно.Пожалуйста, обратитесь в службу поддержки приложения для получения дополнительной информации.

Может кто-нибудь, пожалуйста, скажите мне, как решить эту проблему!Большое спасибо!

Ответы [ 2 ]

22 голосов
/ 21 апреля 2012

У меня та же проблема, которая вызвана тем, что gvim не может загрузить python pyd dll. Есть несколько советов, чтобы решить .pyd dll, которые вызывают вышеуказанную проблему. Я не уверен, есть ли способ решить ошибку времени выполнения для всех DLL. Обратитесь к Не вставьте правильный манифест для среды выполнения msvc на windows , чтобы узнать, как решить вашу проблему.

Обновление: Вместо обновления манифеста для файла .pyd. Я попытался обновить манифест для gvim напрямую, обновив исходный манифест gvim с некоторыми изменениями из манифеста python.exe.

# 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>   
4 голосов
/ 24 марта 2014

У меня была такая же проблема (Windows 7), и я мог решить ее, удалив пути из моей переменной PATH, которые содержат msvcr90.dll.

После удаления нескольких записей ошибка перестала появляться.К сожалению, я не запомнил, какие записи я удалил.Но это был C:\Program Files (x86)\OpenVPN\bin и несколько других, включая Windows Live.

Я получил подсказку о поиске проблемы в пути отсюда (внизу страницы): https://bitbucket.org/Haroogan/vim-youcompleteme-for-windows/src

...