Пропавшие без вести msvcr80.dll

Если del1 не содержит дубликатов, вы можете сделать del1 набором для более эффективных поисков, избегать добавления элементов в l - a, если элемент находится в наборе, и удалить элемент из набор, как только он был обнаружен:

del1 = set(del1)
a = []
for i in l:
    if i in del1:
        del1.remove(i)
        continue
    a.append(i)

a становится:

[1, 5, 10]
11
задан David Segonds 20 October 2008 в 01:16
поделиться

3 ответа

VC80 SP1 распространяемый пакет CRT установит и RTM и версии SP1 времени выполнения C в %SystemRoot%\WinSxS (принятие Вы используете Windows XP или Vista; Windows 2000 не поддерживают бок о бок блоки). Если у Вас есть установленный VC8, распространяемый пакет CRT находится в %ProgramFiles%\Microsoft Visual Studio 8\VC\redist. Если у Вас нет VC8 установленным, я думаю, что можно загрузить распространяемый пакет CRT с Microsoft.com.

Кроме того, для обнаружения точно, какая версия CRT (например, RTM по сравнению с SP1) необходима двоичному файлу, который был создан с VC8 или VC9 можно извлечь декларацию:

mt.exe -inputresource:mydll.dll;#1 -out:mydll.dll.manifest

Ищите что-то вроде этого:

<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>

Мой исполняемый файл требует версии 9.0.21022.8 CRT. Этот номер версии также встраивается в WinSxS имена подкаталога (к сожалению, это окружается хешами):

D:>dir c:\windows\WinSxS\*VC90.CRT*
12/14/2007  02:16 AM    <DIR>          amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_750b37ff97f4f68b
12/14/2007  02:00 AM    <DIR>          x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91
13
ответ дан 3 December 2019 в 03:54
поделиться

Зависимость Walker поможет Вам ответить на этот вопрос.

10
ответ дан 3 December 2019 в 03:54
поделиться

Если вы создаете и распространяете упомянутую DLL, подумайте об использовании модуля слияния для Visual C ++ 8.0 CRT как части вашего установщика.

Я заметил, что есть новый mt.exe инструмент и новый Visual C ++ CRT в Windows SDK 6.1. Я с большим успехом использую модуль слияния в качестве предварительного условия в установщике InstallShield 12.

3
ответ дан 3 December 2019 в 03:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: