@NeYmen

Я написал программу на c++, но при установке ее на другой копьютер выпадает ошибка MSVCP140D.dll, что делать?

Я написал программу на c++, но при установке ее на другой копьютер выпадает ошибка MSVCP140D.dll.
618500005434a057156653.jpeg6185000921bd4054307855.jpeg

Это фото ошибки с двух компьютеров. Единственное, что я заметил, так это то, что на компьютерах на которых установлен Visual Studio, такой ошибки не возникает.

Я предполагаю, что в папку с приложением нужно разместить библиотеки c++.
  • Вопрос задан
  • 232 просмотра
Решения вопроса 2
@sergiodev
У вас программа скорее всего была собрана в конфигурации Debug, поэтому суфикс D в имени DLL. Отладочные библиотеки обычно не установлены у обычных юзеров, только у тех кто поставил Visual Studio.

Нужно просто сделать релизную сборку программы, я думаю. Если не сработает, то установить VC++ 2015 Redistributable на целевую машину или слинковать со стандартной библиотекой статически, как посоветовал res2001.
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Я предполагаю, что в папку с приложением нужно разместить библиотеки c++.

Да вы верно думаете. Но делать надо не так.
Ошибка возникает потому, что в С++ вы, как правило, используете хотя бы STL - а это внешняя библиотека и она должна быть доступна программе во время запуска.
Но можно собрать программу со статической линковкой с STL, тогда размер исполняемого файла вашей программы будет больше, но тащить за собой ничего не придется.
В принципе, динамическая линковка с STL - это нормально. Только в случае с программой собранной в MSVC вы должны предоставить пользователю еще и runtime пакет нужной версиии. Микрософт предоставляет эти сборки runtime отдельно от MSVC (можно скачать с сайта). Этот же установщик рантайма лежит где-то в недрах установленной MSVC, можно его там найти при желании.

Цифры в имени файла dll (140) - это и есть версия нужного вам рантайма. Версия 140 или 14.0. Она идет с MSVS 2015.
Вот тут статья с перечислением всех актуальных версий рантайма и ссылками на них: https://www.itechtics.com/microsoft-visual-c-redis...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы