MSVC2015:找不到__vcrt_UnhandledException

时间:2015-07-19 09:54:08

标签: c++ visual-c++ linker vs-2015-preview

使用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)'输入点未找到'。

我的项目取决于SDLSDL_imageOpenGLODE

我尝试了很多不同的东西,包括将子系统从CONSOLE更改为WINDOWS,使用各种不同的选项重新编译SDL2,用显式WinMain函数替换SDL2main.lib并更改编译器设置作为禁用例外。

我在网上找不到任何符号__vcrt_UnhandledException。使用VCRUNTIME140.dll使代码可执行的必要条件是什么?

1 个答案:

答案 0 :(得分:0)

事后看来,这个错误的解决方案非常明显,但是运行时的反馈非常无益,以至于我在找到答案之前最终尝试了很多不同的事情。

UnhandledException可能只是程序启动时CRT的第一个符号。它指示项目中的某些内容(因此__vcrt_中的__vcrt_UnhandledException)需要不同版本的Visual C运行时DLL(来自VS2015预览版)。

在这种情况下,需要针对VS2015 RC重建它的ODE。更一般地说,确保在升级到较新版本的MSVC2015时重建所有内容