Ошибка:Дополнительная информация о конфигурации в “BLAH.EXE” содержит ошибки

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

Вопрос

Это ошибка Dependency Walker, которую выдает мне для исполняемого файла, который я создаю с помощью VC ++ 2005 Express Edition.При попытке запустить .exe, я получаю:

This application has failed to start because the application configuration
is incorrect. Reinstalling the application may fix this problem.

(Я новичок в manifest /SxS/ etc.способ ведения дел после VC ++ 2003.)

Редактировать:Я работаю на том же компьютере, с помощью которого создаю .exe.В программе просмотра событий у меня есть бесполезное:

Faulting application blah.exe, version 0.0.0.0, faulting module blah.exe,
version 0.0.0.0, fault address 0x004239b0.
Это было полезно?

Решение

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

Среды выполнения C / C ++ DLL, используемые VS2003 и выше, не распространяются автоматически вместе с последней версией ОС, и их установка и начало работы без подобных проблем доставляют настоящую боль.статически свяжите c-runtime и просто избегайте полной неразберихи, связанной с манифестами и библиотеками DLL, зависящими от конкретной версии.

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

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

Даже после установки распространяемых DLL-файлов Microsoft я получал эту ошибку, исправление заключалось в копировании

C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT

папку в каталог приложения на целевом компьютере.После этого больше никаких проблем.

Кстати, DLL, которая вызывала у меня проблемы, была сторонней DLL, у которой никогда раньше не было проблем на более чем 100 других компьютерах...пойди разберись.

У меня была эта проблема.Решение состоит из двух этапов:
1.Скомпилируйте вашу программу в режиме "Release" вместо режима "Debug" (обычно на панели инструментов есть поле со списком).
2.Загружайте из Microsoft их Распространяемый пакет компонентов среды выполнения.Обязательно загрузите версию x86 для 32-разрядных компьютеров и версию x64 для 64-разрядных компьютеров / операционных систем.Установите этот пакет на целевой компьютер, и ваше приложение должно работать нормально

P.S.Это является вещь SxS
P.P.S.В качестве альтернативы используйте другой компилятор (например, GCC с Dev-Cpp) для компиляции исходного кода вашей программы, и ваши головные боли исчезнут.

Запустить средство просмотра событий:в нем будет больше информации.

Вероятно, вы пытались запустить свою программу на компьютере, на котором не установлены распространяемые файлы VC, или вы пытаетесь запустить отладочную сборку на компьютере, на котором не установлена Visual Studio (библиотеки отладки не подлежат распространению).

У меня была такая же проблема со встроенными отладочными двоичными файлами VS 2008 на других компьютерах winxp с пакетом обновления sp3.

  1. Сначала я попытался установить клиентский компьютер с помощью пакета vc redist, поскольку это показалось разумным.Досадно, что это не сработало.
  2. Я попытался скопировать все зависимые библиотеки dll в каталог приложения - все еще не сработало
  3. После нескольких часов размышлений над этой проблемой я обнаружил, что для последних сборок VS требуются манифесты и политики для связи с библиотеками DLL.Скопировав их в соответствующие папки "C:\WINDOWS\WinSxS \", я получил это работающий.

Проблема была вызвана тем фактом, что пакет vc redist не устанавливал отладочные версии dll, они каким-то образом решили, что это зависит от программиста, который должен разобраться.

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