Почему моя программа не запускается, если не установлена Visual Studio 2008?

StackOverflow https://stackoverflow.com/questions/349004

Вопрос

Я написал игру, которая использует GLUT, OpenGL и FMOD.Проблема в том, что двоичный файл не будет запускаться, если на компьютере не установлена Visual Studio 2008.

Почему это происходит?

Это было полезно?

Решение

Скорее всего, вы ссылаетесь на DLL-версии среды выполнения C / C ++.Перейдите в раздел свойства проекта -> C ++ -> Генерация кода и установите для библиотеки времени выполнения значение не быть одним из видов "DLL".

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

MSDN содержит больше информации о различных аспектах развертывания приложений на C ++: http://msdn.microsoft.com/en-us/library/zebw5zk9.aspx

Также, Средство устранения зависимостей (depends.exe) покажет, от каких библиотек зависит ваш исполняемый файл.Он также поставляется с некоторыми версиями Visual Studio.

Другие советы

Ты имеешь в виду, почему Распространяемый пакет Microsoft Visual C++ 2008 (x86) нужен?

Этот пакет устанавливает среду выполнения компоненты среды выполнения C (CRT), Стандартные библиотеки C ++, ATL, MFC, OpenMP и MSDIA.Для библиотек, которые поддерживают модель параллельного развертывания (CRT, SCL, ATL, MFC, OpenMP) они устанавливаются в собственную сборку кэш, также называемый папкой WinSxS, в версиях операционной системы Windows которые поддерживают параллельные сборки.

Потому что они установлены не во всех Windows по умолчанию, особенно в тех, которые поставлялись до версии 2008.

Даже для

cout << "Hello, World" << endl;

Вам нужна библиотека, которая в данном случае является стандартной библиотекой C ++.

Добро пожаловать в удивительный мир развертывания приложений.

Запустите инструмент зависит на вашем исполняемом файле, и он сообщит вам, какие библиотеки DLL вам также нужно скопировать вместе с вашим EXE.

Эта программа может помочь вам найти, какие библиотеки DLL (если таковые имеются) отсутствуют на компьютере, на котором он не будет запускаться

По умолчанию в Windows устанавливаются только выпускные версии среды выполнения C и библиотеки DLL стандартной библиотеки C++.Установка Visual Studio приведет к дополнительной установке отладочных версий.

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

Попробуйте выполнить компиляцию в режиме выпуска и убедитесь, что все необходимые библиотеки DLL установлены на целевом компьютере.У меня это работает.

Есть ли у вас зависимости от библиотек отладки?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top