VSC++ xc0150002 是 Visual C++ 运行库缺失导致的?

不完全是「少几个 dll」这么简单,实际是 编译环境 + 运行库 + 清单(manifest)+ 工程配置 几层问题叠在一起。

1. 编译层(不是 dll)

问题 现象
未装 MFC MSB8041afxwin.h 找不到
工具集 工程原是 v143,已改为 Community 的 v145

这一层和 dll 无关,是 VS 组件和工具链 没配好。


2. 运行层(不只有 dll)

Output 里其实早就有 MetaCore.dllmfc140.dllmsvcr90.dll 等,但仍然 0xc0150002

真正缺的是 Side-by-Side 清单文件(不是 dll):

复制代码
Microsoft.VC90.CRT.manifest
Microsoft.VC90.MFC.manifest

MetaCore.dllVC90 编译,Windows 要靠这两个 manifest 才能正确加载 msvcr90.dll / msvcp90.dll

只有 dll、没有 manifest,就会报 0xc0150002------看起来像 dll 问题,本质是 SxS 配置不完整


3. 工程/配置层(也容易踩坑)

问题 后果
PostBuild 用了空的 VCToolsRedistDir VC145 运行库没拷进 Output
Debug / Release 共用一个 Output\ 互相覆盖 exe,混用 mfc140.dll / mfc140d.dll
从 VS 按 F5(Debug) 需要 mfc140d.dllucrtbased.dll 等 debug 库
只拷 exe、不拷整个目录 缺 MTK dll、manifest、ini

总结

markdown 复制代码
编译不过  →  缺 MFC 组件(VS 安装问题)
启动报错  →  不全是缺 dll
           →  关键是 VC90 manifest + 完整 Output 目录
           →  外加 Debug/Release 别混用

工厂使用建议:

  • 配置:Release | Win32
  • 运行:整个 Output\ 目录(exe + dll + manifest + ini)
  • 启动方式:Ctrl+F5 或直接双击 Output\SN_Writer.exe

这些已写进工程的 PostBuild,以后 Release 重新编译 会自动带上 manifest 和运行库。若你还遇到具体报错,把是 F5 还是 Release、从哪个目录启动发我即可。

相关推荐
Sam_Deep_Thinking10 小时前
new Thread()之后发生了什么?
java·后端·面试·程序员
一拳不是超人16 小时前
之前用 AI 两小时写的塔罗网站,我真把它做上线了,然后呢?
前端·人工智能·程序员
人邮异步社区1 天前
学习Python的最佳学习路径是什么?
python·程序员
kyriewen1 天前
我删掉了 29 个 AI Skill 里的 23 个:留下的 6 个都有同一个特点
人工智能·程序员·ai编程
她的男孩1 天前
做了"异步导出",用户点了还是卡 3 分钟:扒完 4223 行源码,@Async 压根没生效
人工智能·后端·程序员
IamZJT_2 天前
Agent 系统工程 01|模型之外,Harness 到底该负责什么?
人工智能·python·程序员
爱勇宝2 天前
用了一个月 WorkBuddy,聊聊我的真实感受
前端·后端·程序员
无限压榨切图仔2 天前
加了“去 AI 味”Skill,水稿还是水:AI 写作流程缺的不是润色
人工智能·程序员
codigger2 天前
CLI 还是 MCP?一场关于 Agent 工具接口的再思考
程序员·编程·#人工智能·#agent
six_2 天前
RiverPlusCOM Web:不用安装的在线串口调试助手
vue.js·程序员