Naveen_vemuri Ответов: 3

Код не может быть выполнен из-за msvcp140. dll/vcruntime.dll не найдена


я создаю проект и генерирую exe-файл.он отлично работает на моей машине, где установлена visual studio.когда я запускаю этот exe-файл на другой машине, где visual studio не установлена, он выдает мне вышеуказанную ошибку.

**Для этого мне нужно установить распространяемые пакеты visual studio 2017, а затем exe-файл работает нормально.Есть ли какой-либо способ без установки распространяемых пакетов visual studio 2017 добавить эти необходимые dll-файлы в свой проект и запустить их на любой машине без вышеперечисленных пакетов?

Что я уже пробовал:

Я попробовал изменить свойства - & gt;Общие - & gt;использование MFC :от "стандартных библиотек windows "до" использовать mfc в статической библиотеке " в visual studio 2017.Но это очень сильно увеличивает размер моего исполняемого файла.Есть ли другой способ?

Graeme_Grant

Как вы устанавливаете приложение на другой компьютер? Вы создаете установщик и запускаете его или просто копируете файлы?

Naveen_vemuri

копирование

Graeme_Grant

Вот почему вам не хватает зависимостей!

Naveen_vemuri

каково же решение этой проблемы?

Graeme_Grant

Как уже упоминалось выше, создайте установщик в VS. Установщик может обрабатывать зависимости. Разве это не то, что делают другие софтверные компании?

Naveen_vemuri

но я хочу знать, есть ли способ, при котором мы не устанавливаем visual studio и распространяемые файлы. я имею в виду то, что можно сделать в проекте

Graeme_Grant

Да, опять же, создайте установщик для вашего решения. Возможно, это не самый правильный метод для вас, но он может лучше проиллюстрировать мой ответ: Как создать установщик с помощью Microsoft Visual Studio | technical-recipes.com[^]

Naveen_vemuri

Если мы выполним описанные выше действия, будет ли приложение работать без каких-либо из них?

Graeme_Grant

Я уже ответил на ваш вопрос. Теперь вам нужно провести некоторые исследования и научиться.

3 Ответов

Рейтинг:
2

RickZeeland

Вот вам пример Инно Сетап установщик, поддерживающий множество пакетов: GitHub-stfx/innodependencyinstaller: модульный установщик зависимостей InnoSetup[^]
Приятно то, что большинство из них являются веб-установщиками, такими как распространяемые файлы VC, которые вам нужны, так что это не сделает ваш установочный пакет больше.


Рейтинг:
2

Dave Kreskowiak

Вы должны установить среду выполнения либо как отдельную установку, либо как часть установки вашего приложения в качестве предварительного условия. Вы не можете обойти установку среды выполнения.


Рейтинг:
1

Kornfeld Eliyahu Peter

Копирование одного файла на другую машину не рекомендуется...
Вы должны создать установщик со всеми зависимостями в нем...
Если вы уверены, что у вас нет никаких зависимостей за пределами ядра C++, вы можете использовать Распространяемый Пакет Visual C++ пакет для вашей версии... меньше этого не получится...