MSVC2015: не удалось обнаружить __vcrt_UnhandledException

При обновлении проекта C ++ до VS2015 RC с использованием Windows 7 я столкнулся со следующим сообщением об ошибке при отладке:

имя_проекта.exe — точка входа не найдена

точка входа в процедуру __vcrt_UnhandledException не может быть расположена в библиотеке динамических ссылок VCRUNTIME140.ddl.

В окне вывода (вместе с типичным списком отсутствующих PDB) я получаю:

Исключительная ситуация: 0x775E1FB6 (ntdll.dll) в project_name.exe: 0xC0000139: точка входа не найдена.

Программа «[9400] project_name.exe» завершила работу с кодом -1073741511 (0xc0000139) «Точка входа не найдена».

Мой проект зависит от SDL, SDL_image, OpenGL а также ОДА.

Я пробовал кучу разных вещей, включая изменение подсистемы с CONSOLE на WINDOWS, перекомпиляцию SDL2 с различными опциями, замену SDL2main.lib явным WinMain функция и изменение настроек компилятора, таких как отключение исключений.

Я не могу найти упоминания о символе __vcrt_UnhandledException онлайн. Что необходимо для того, чтобы сделать код исполняемым с помощью VCRUNTIME140.dll?

0

Решение

Оглядываясь назад, решение этой ошибки довольно очевидно, но обратная связь из среды выполнения была настолько бесполезной, что я закончил тем, что пробовал много разных вещей, прежде чем нашел ответ.

Вероятно, что UnhandledException это просто первый символ из CRT, который требуется при запуске программы. Это показатель того, что в проекте ожидается какая-то другая версия DLL-библиотеки Visual C (из предварительного просмотра VS2015) (следовательно, __vcrt_ в __vcrt_UnhandledException).

В данном случае это ODE, которое необходимо перестроить против VS2015 RC. В целом, убедитесь, что восстановить все при обновлении до более новой версии MSVC2015.

0

Другие решения


По вопросам рекламы [email protected]