You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2015升级至VS2022后C++ GUI应用启动失败问题排查

问题:VS2022升级C++ GUI应用后启动失败,DLL加载缺失

我们正在将一款基于C++的GUI应用从VS2015升级至VS2022,编译成功但可执行文件无法正常启动。使用VS调试器调试时,程序进入以下函数:

int __cdecl TestStartup()
{
  return WinMainCRTStartup();
}

WinMainCRTStartup本应调用WinMain(),但调试时发现程序在加载一系列DLL阶段中断。对比VS2015与VS2022调试输出中C:\Windows\System32下加载的DLL列表,发现后者缺少大量DLL。已排查多种项目配置,仍未找到具体原因。

VS2015加载的DLL列表

  • Ntdll.dll
  • kernel32.dll
  • KernelBase.dll
  • gdi32.dll
  • win32u.dll
  • gdi32full.dll
  • msvcp_win.dll
  • ucrtbase.dll
  • user32.dll
  • advapi32.dll
  • msvcrt.dll
  • sechost.dll
  • bcrypt.dll
  • rpcrt4.dll
  • shell32.dll
  • psapi.dll
  • winmm.dll
  • wininet.dll
  • imm32.dll
  • Uxtheme.dll
  • Combase.dll
  • Kernel.appcore.dll
  • Ole32.dll
  • Comctl32.dll
  • oleaut32.dll
  • shlwapi.dll
  • bcryptprimitives.dll
  • windows.storage.dll
  • WinTypes.dll
  • SHCore.dll
  • cmedit64d.dll
  • GdiPlus.dll
  • msctf.dll
  • TextShaping.dll
  • TextInputFramework.dll
  • CoreMessaging.dll
  • CoreUIComponents.dll
  • Cryptbase.dll
  • AudioSes.dll
  • winmmbase.dll
  • MMDevAPI.dll
  • avrt.dll
  • ksuser.dll
  • devobj.dll
  • cfgmgr32.dll
  • cfgmgr32.dll
  • msacm32.dll
  • midimap.dll
  • clbcatq.dll
  • powrprof.dll
  • umpdc.dll
  • ResourcePolicyClient.dll

VS2022加载的DLL列表

  • Ntdll.dll
  • kernel32.dll
  • KernelBase.dll
  • gdi32.dll
  • win32u.dll
  • gdi32full.dll
  • msvcp_win.dll
  • ucrtbase.dll
  • user32.dll
  • advapi32.dll
  • msvcrt.dll
  • sechost.dll
  • bcrypt.dll
  • rpcrt4.dll
  • shell32.dll
  • psapi.dll
  • winmm.dll
  • wininet.dll
  • imm32.dll

内容的提问来源于stack exchange,提问作者Srihari S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 08:02:20