使用Windows 7将C ++项目更新为VS2015 RC时,我在调试时遇到以下错误对话框:
project_name.exe - 找不到入口点
无法在动态链接库VCRUNTIME140.ddl中找到过程入口点__vcrt_UnhandledException。
在输出窗口中,(以及丢失的PDB的典型列表)我得到:
project_name.exe中的0x775E1FB6(ntdll.dll)抛出异常:0xC0000139:找不到入口点。
该程序' [9400] project_name.exe'退出时输入代码-1073741511(0xc0000139)'输入点未找到'。
我的项目取决于SDL,SDL_image,OpenGL和ODE。
我尝试了很多不同的东西,包括将子系统从CONSOLE更改为WINDOWS,使用各种不同的选项重新编译SDL2,用显式WinMain
函数替换SDL2main.lib并更改编译器设置作为禁用例外。
我在网上找不到任何符号__vcrt_UnhandledException
。使用VCRUNTIME140.dll使代码可执行的必要条件是什么?
答案 0 :(得分:0)
事后看来,这个错误的解决方案非常明显,但是运行时的反馈非常无益,以至于我在找到答案之前最终尝试了很多不同的事情。
UnhandledException
可能只是程序启动时CRT的第一个符号。它指示项目中的某些内容(因此__vcrt_
中的__vcrt_UnhandledException
)需要不同版本的Visual C运行时DLL(来自VS2015预览版)。
在这种情况下,需要针对VS2015 RC重建它的ODE。更一般地说,确保在升级到较新版本的MSVC2015时重建所有内容。