以前工作的可执行文件现在在运行时出现应用程序错误

问题描述 投票:0回答:1

我最近将我在 VS2017 中开发的 C++ 源代码从我的台式机(运行 Win 10)复制到我的新笔记本电脑(运行 Win 11)。

虽然代码编译和链接成功,但现在每当我尝试运行可执行文件时都会遇到 0xc000007b 错误。

编辑调试环境变量以指向 SysWOW64 而不是 system32 消除了查找标准 dll(msvcr100.dll 等)方面的一些问题。但是,相同的运行时错误仍然存在。

我尝试将我的解决方案移植到 VS2022,但这没有帮助。更新到较新版本的 SDL 2.0 也没有什么区别。

以管理员身份运行可执行文件并不能解决问题。

我已经运行了 ProcMon,并在此处包含了部分输出。 partial ProcMon output

windows visual-c++ visual-studio-2017 procmon
1个回答
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 错误现在不再出现。

© www.soinside.com 2019 - 2024. All rights reserved.