Открыть сервисСервис

msvcp140.dll — файл библиотеки Visual C++

Msvcp140.dll — динамическая библиотека (DLL) Microsoft Visual C++ Redistributable, входящая в состав пакета Microsoft Visual C++ 2015–2022 Redistributable. Файл содержит реализацию стандартной библиотеки языка C++ (Standard Template Library, STL) и компоненты CRT (C Runtime), скомпилированные с использованием набора инструментов Visual Studio 2015 и более поздних версий. Отсутствие msvcp140.dll на компьютере приводит к ошибке при запуске приложений: «Приложение не удалось запустить, так как в системе отсутствует msvcp140.dll».

Назначение и состав

Библиотека msvcp140.dll реализует шаблоны и классы стандартной библиотеки C++: контейнеры (std::vector, std::map, std::string), потоки ввода-вывода (iostream), алгоритмы, умные указатели, исключения и другие компоненты стандарта C++11/14/17. Файл тесно связан с vcruntime140.dll и ucrtbase.dll (Universal C Runtime), которые обеспечивают базовую среду выполнения.

Префикс «msvcp» означает «Microsoft Visual C++ Package», а число «140» соответствует внутреннему номеру версии компилятора MSVC: 14.0 — это версия, впервые поставившаяся с Visual Studio 2015. Все версии Visual Studio с 2015 по 2022 используют одинаковый ABI (Application Binary Interface) для C++ и потому продолжают использовать msvcp140.dll с добавлением суффиксов minor-версий (например, msvcp140_1.dll, msvcp140_2.dll, msvcp140_codecvt_ids.dll).

Распространение

Msvcp140.dll не входит в состав стандартной поставки Windows. Файл устанавливается на компьютер одним из трёх способов:

  1. Вместе с пакетом Microsoft Visual C++ 2015–2022 Redistributable (x86 и/или x64) — наиболее распространённый вариант.
  2. В составе среды разработки Visual Studio 2015–2022 при установке компонента «C++ Межъязыковая поддержка MSVC».
  3. Как часть установщика конкретного приложения или игры: многие разработчики включают пакет Redistributable в свой инсталлятор, и библиотека копируется автоматически.

В системе файл обычно располагается в каталоге C:\Windows\System32 (для 64-разрядных версий) или C:\Windows\SysWOW64 (для 32-разрядных версий на 64-разрядной Windows). Приложения, собранные под x86, загружают 32-разрядную версию библиотеки из SysWOW64, а 64-разрядные — из System32.

Причины ошибок

Наиболее частые причины появления сообщения об отсутствии msvcp140.dll:

  • На компьютер не установлен пакет Visual C++ Redistributable 2015–2022 — например, при запуске игры, установщик которой не включил этот компонент.
  • Установлен только один разряд: 32-разрядная версия приложения требует 32-разрядной библиотеки, а установлен лишь пакет x64 (или наоборот).
  • Файл повреждён или удалён в результате сбоя диска, действия вредоносного ПО или неаккуратной ручной очистки системы.
  • Конфликт версий: устаревший пакет Redistributable не содержит функций, которые ожидает более новое приложение.
  • Антивирус или «чистильщики» ошибочно классифицируют файл как подозрительный и блокируют его.

Способы устранения

Стандартная рекомендация — установить (или переустановить) пакет Microsoft Visual C++ Redistributable с официального сайта Microsoft, выбрав версии x86 и x64. Для 64-разрядной Windows обычно требуются оба пакета, поскольку одновременно могут запускаться 32- и 64-разрядные приложения. Установку следует выполнять от имени администратора, после чего перезагрузить компьютер.

Дополнительные меры при сохранении ошибки:

  • Проверить целостность системных файлов командой sfc /scannow.
  • Обновить Windows через Центр обновления, чтобы установить свежую версию Universal C Runtime.
  • Удалить существующие пакеты Redistributable через «Установку и удаление программ» и установить их заново.
  • Сканировать систему антивирусом.

Скачивание msvcp140.dll с сторонних «библиотек DLL» не рекомендуется: такие сайты часто распространяют устаревшие или модифицированные файлы и являются источником вредоносного ПО. Единственный надёжный источник библиотеки — официальный дистрибутив Microsoft.

Использование в разработке

При сборке проекта в Visual Studio библиотека подключается автоматически при выборе статической или динамической линковки с CRT. Разработчики, распространяющие приложение среди пользователей без Visual Studio, обязаны включить в установщик пакет Visual C++ Redistributable либо использовать статическую линковку runtime (/MT), чтобы исключить зависимость от msvcp140.dll. Игры, собранные в Unreal Engine и Unity для Windows, как правило, требуют установленного Redistributable 2015–2022.

Интересные факты

  • Несмотря на название «2015–2022», пакет Redistributable сохраняет обратную совместимость: приложения, собранные в Visual Studio 2015, работают с библиотеками, установленными более поздними версиями пакета.
  • Начиная с Visual Studio 2015 Microsoft перешла на единый Universal C Runtime, встроенный в Windows 10 и 11 через Windows Update, поэтому на актуальных системах msvcp140.dll остаётся единственной обязательной внешней библиотекой C++.

Источники:

  • Microsoft Learn — Visual C++ Redistributable Latest Supported Downloads
  • Microsoft Learn — C++ Standard Library Overview
  • Microsoft Learn — Redistributing Visual C++ Files
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru