Форум программистов, компьютерный форум CyberForum.ru

Application has failed to start because the application configuration is incorrect (+LNK4099, 4098) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
SaShka K
3 / 3 / 0
Регистрация: 16.01.2014
Сообщений: 55
01.08.2014, 12:05     Application has failed to start because the application configuration is incorrect (+LNK4099, 4098) #1
Получил тестовое задание на джуна C++. Проект - Недоделанный арканоид на собственном движке конторы. Моя задача допилить игру. В задании 2 варианта solution'ов: под MS Visual Studio 2008 и под VS2010. (быть может это имеет значение - из этого предполагаю, что делался проект на VS2008, а к VS2010 уже адаптировали).

Проект билдится, хотя и с 400+ warning'ами, большая часть из которых LNK4099 вида:
warning LNK4099: PDB 'vc100.pdb' was not found with 'gsys10_d.lib(zcontroller.obj)' or at 'D:\Arkanoid\data_arkanoid\vc100.pdb'; linking object as if no debug info D:\Arkanoid\src\gsys10_d.lib(zcontroller.obj)
и два LNK4098:
warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library D:\Arkanoid\src\LINK
Немного остальных, в основном вида:
warning C4100: '_alpha' : unreferenced formal parameter d:\arkanoid\include\visibleobj.h 135
Последние C4100 думаю не критичны, или вытекают из указанных выше.

При попытке запуска (F5) получаю вот такое:
---------------------------
Microsoft Visual Studio
---------------------------
Unable to start program 'D:\Arkanoid\src\..\data_arkanoid\Arkanoid.exe'.This application has failed to start because the application configuration is incorrect. Review the manifest file for possible errors. Reinstalling the application may fix this problem. For more details, please see the application event log.
---------------------------
ОК
---------------------------
Находил разные советы. Всё, что нашёл выполнил, но проблема не решена.
Из выполненного:
  • удалил стоявший до получения этого задания MSVS2013Express (он кстати выдавал ошибки при компилировании, поэтому установил VS2010), удалил всё, что с ним могло быть связано: Framework'и, VC++ 20XX redistributable'ы, ну в общем практически всё, где упоминалось "Microsoft" (кроме никак не относящегося к VS). И установил MSVS2010 с нуля.
  • установил MS Windows SDK
  • установил SP1 для MSVS2010
  • ну и поставил всё, перечисленное в первом пункте назад
  • кое-чего ещё по мелочам, но не буду засорять эфир

НЕ ПОМОГЛО

Из моих подозрений только что система моя x64, а в доступных к выбору в разделе Build\Configuration Manager\Active solution platform только "Win32"

Вычитал также, что при подобной проблеме человек пользовался DependencyWalker'ом. Я не разобрался пока, как интерпретировать его результаты, но выглядят они так (см. принтскрин - http://uploads.ru/E9NeX.png). Дальше простыня в среднем фрейме бОльшей частью выглядит так же, как последняя часть из попавших в кадр позиций.

Неловко задалбывать вопросами контору (я это уже сделал - рекомендации в ответе не решили проблемы), а время, отведённое на задание идёт.. Пожалуйста, помогите решить проблему!

Дополнительная информация:

ОС Windows 7 x64.

Использую MS Visual Studio 2010.

Релизная версия билдится с частью тех же warning'ов (в общ. кол-ве 50+ шт). Из новых только 3 таких:
warning C4756: overflow in constant arithmetic f:\work\gsys_new\src\inventory.cpp
Запустить удаётся, но отрисовывается только окно и вылетает ошибка:
Unhandled exception at 0x00e0fb82 in Arkanoid.exe: 0xC0000005: Access violation reading location 0x0000000c.
(возможно связанная с указанным warningom C4756)

Спасибо!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2014, 12:05     Application has failed to start because the application configuration is incorrect (+LNK4099, 4098)
Посмотрите здесь:

C++ Defines the entry point for the console application
Console application под x64 и другое C++
C++ Вывод таблицы Windows Forms Application
this application has requested the runtime to terminate it in an unusual way C++
Тип переменной для OlePropertySet Excel.Application C++
C++ Defines the entry point for the console application
CRT detected that the application wrote to memory before start of heap buffer C++
VS 2008 Win Form Application ошибка C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SaShka K
3 / 3 / 0
Регистрация: 16.01.2014
Сообщений: 55
04.08.2014, 14:49  [ТС]     Application has failed to start because the application configuration is incorrect (+LNK4099, 4098) #2
Разобрался!
1) т.к. exe-шник пытался запуститься, но не получалось, то следовало посмотреть, что пишет виндовый логгер. Так и сделал. Там было сообщение вида:
"D:\..\Arkanoid.exe". Не найдена зависимая сборка "Microsoft.VC80.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",...
Т.е. не хватает Visual С++ 2008 redistributable x86. Установил дебажный пакет - debug-сборка начала запускаться с симптомами почти идентичными описанным в посте для release-версии.

2) Проверил - сам exe-шник не из под студии, а прямо из проводника ОС запускается. Проблема оказалась в том, что в настройках проекта Debugging->Working Directory должна была быть указана соответствующая дирректория (в которой и настроечный xml лежал и exe-шник в неё же сохранялся).

Заслуга не моя - оба решения подсказали добрые люди. Отписываюсь тут на случай, если кому-нибудь когда-нибудь информация окажется полезной.
Yandex
Объявления
04.08.2014, 14:49     Application has failed to start because the application configuration is incorrect (+LNK4099, 4098)
Ответ Создать тему
Опции темы

Текущее время: 12:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru