我最近将我在 VS2017 中开发的 C++ 源代码从我的台式机(运行 Win 10)复制到我的新笔记本电脑(运行 Win 11)。
虽然代码编译和链接成功,但现在每当我尝试运行可执行文件时都会遇到 0xc000007b 错误。
编辑调试环境变量以指向 SysWOW64 而不是 system32 消除了查找标准 dll(msvcr100.dll 等)方面的一些问题。但是,相同的运行时错误仍然存在。
我尝试将我的解决方案移植到 VS2022,但这没有帮助。更新到较新版本的 SDL 2.0 也没有什么区别。
以管理员身份运行可执行文件并不能解决问题。
因此 Dependency Walker 透露我的项目正在调用 x64 版本的 mscvr100.dll。目前还不清楚这是如何发生的。简单地运行 2015-2022 VS C++ 可再发行组件的修复安装并不能解决问题,因此我必须从 dll-files.com 手动下载新版本的 dll。
我的诊断和修复几乎完全按照下面的视频进行,只是我将最新版本的 msvcr100.dll 放入系统目录(SysWOW64 中的 x86 和 system32 中的 x64),而不是将任何内容放在可执行目录中。
https://youtu.be/eedlkWEo27s?feature=shared
运行可执行文件时,0xc000007b 错误现在不再出现。