Исполняемый файл Visual Studio 2008 c ++ (отладка и выпуск) не работает - PullRequest
0 голосов
/ 12 ноября 2018

надеюсь, что кто-то может помочь.

В настоящее время я пишу движок 2D-игр на c ++.Когда я запускаю приложение из Visual Studio 2008 с помощью отладки или выпуска, все идет хорошо.

Когда я затем запускаю исполняемые файлы (отладочные или выпуски) из Проводника Windows, они не работают и просто отображают пустое окно.

Кто-нибудь знает, что вызывает это?

  1. Загрузка проекта в VS 2008
  2. Изменение конфигурации на «Отладка»
  3. Нажмите кнопку «Начать отладку»
  4. Приложение компилируется и собирается, все в порядке
  5. Приложение работает, все в порядке
  6. Закрыть приложение
  7. Окно вывода в VS показывает «Программа» [16672] Mouse Engine v2.exe: Native »завершена с кодом 0(0x0). "
  8. Откройте окно проводника Windows и найдите исполняемый файл из папки Debug в проекте.
  9. Запустите исполняемый файл, отобразится пустое окно.
  10. Изменить конфигурацию на"Отпустите "
  11. Нажмите кнопку" Начать отладку "
  12. Приложение компилируется и собирается, все в порядке
  13. Приложение работает, все в порядке
  14. Закрыть приложение
  15. Окно вывода в VS показывает «Программа»[18872] Mouse Engine v2.exe: исходный файл 'завершен с кодом 0 (0x0). "
  16. Откройте окно проводника Windows и найдите исполняемый файл из папки Release в проекте.
  17. Запустите исполняемый файл, отображается пустое окно.

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

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

  1. Убедитесь, что все переменные инициализированы. Кажется очевидным, но это может иметь решающее значение. Я нашел лучший способ решить эту проблему - это #DEFINE _LOG при запуске и вывести значения переменных в файл журнала в каждой функции, используя #IFDEF _LOG. Таким образом, вы можете включить или выключить его.
  2. Если ваше приложение является просто пустым окном, проверьте, запущено ли оно (используя процессорное время). Это хороший признак того, что что-то мешает ему найти любые файлы изображений или шрифтов.
  3. Убедитесь, что структура папок Debug или Release соответствует структуре в папке вашего проекта, чтобы обеспечить работу ссылок на файлы и текстуры.
  4. Убедитесь, что в настройках проекта для параметра Runtime Library задано значение Многопоточный (/ MT). Это должно сделать ваше приложение менее зависимым от дополнительных DLL.
  5. Проверьте наличие проблем в вашем коде. См. Пункт 1 с использованием файлов журнала, чтобы помочь с этим.
0 голосов
/ 12 ноября 2018

Некоторые вещи, которые нужно искать, это отсутствие зависимостей, таких как файлы конфигурации и файлы данных, которые ваша программа не может найти.

Вы также можете попробовать Dependency Walker, чтобы убедиться, что все ваши dll доступны. http://www.dependencywalker.com

...