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、从哪个目录启动发我即可。

相关推荐
凌虚10 小时前
AI 时代,程序员会消失吗?
人工智能·后端·程序员
SimonKing18 小时前
那个号称"对标 Spring"的国产框架 Solon,到底行不行?
java·后端·程序员
阿望说AI20 小时前
读完北大 Linian Wang 那篇 Kimi K2 排障文,我把大模型 API 想明白了:Tool Calling 根本不存在
程序员·ai编程
Hilaku1 天前
前端大裁员背后的恐慌:我们还剩什么底牌?
前端·javascript·程序员
卡卡罗特学AI2 天前
曾经人手一个的Superpowers,为什么现在都在卸
人工智能·程序员
阿里嘎多学长2 天前
2026-07-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管
SimonKing2 天前
Spring Boot 4.0 + gRPC 极简集成:4步搞定,比REST还丝滑
java·后端·程序员
Karl_wei2 天前
Harness 企业级落地(二) - 让 AI 读懂项目
程序员·openai·全栈
阿里嘎多学长2 天前
2026-07-14 GitHub 热点项目精选
开发语言·程序员·github·代码托管