问题:0x00007FF9B6490ED0 (msvcp140d.dll) (Rcsd.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0x0000000000000000 时发生访问冲突。
- vs版本:Microsoft Visual Studio Community 2022 (64 位) - Current 版本 17.10.3
std::mutex::lock()
std::unique_lock<std::mutex> lock(mutex)
0xC0000005:读取位置 0x0000000000000000 时发生访问冲突。
方式1:
找到
C:\Windows\System32\msvcp140.dll
,降级
要将 msvcp140.dll 恢复到特定版本(例如 14.40.33810.0),可以按照以下步骤进行操作:
1.下载正确版本的 Visual C++ Redistributable 包:
2.首先,确保你已经下载并安装了 Microsoft Visual C++ 2015-2022 Redistributable 的 14.40.33810 版本的安装程序。你可以从 Microsoft 的官方网站或者其他可信的来源获取这个特定版本的 Redistributable 安装程序。
3.找到 msvcp140.dll 文件:
4.msvcp140.dll 通常位于 C:\Windows\System32\ 目录下。在文件资源管理器中,前往 C:\Windows\System32\,找到 msvcp140.dll 文件。
5.备份当前的 msvcp140.dll 文件:
6.在操作之前,建议备份当前的 msvcp140.dll 文件,以防出现意外情况。你可以复制并粘贴 msvcp140.dll 文件到另一个位置作为备份,或者将其重命名为 msvcp140.dll.backup。
7.替换 msvcp140.dll 文件:
8.将下载的 msvcp140.dll 文件(版本为 14.40.33810.0)复制到 C:\Windows\System32\ 目录中。
9.注册新的 DLL 文件(可选步骤):
10.如果新的 msvcp140.dll 文件没有被系统自动注册,你可以手动注册它。在开始菜单中搜索 cmd,右键点击命令提示符并选择“以管理员身份运行”。在命令提示符中输入以下命令并按 Enter:
regsvr32 C:\Windows\System32\msvcp140.dll
11.这将注册 msvcp140.dll 文件,使其可以被应用程序正确加载和使用。
12.重新启动计算机:
13.在完成上述步骤后,建议重新启动计算机以确保新的 msvcp140.dll 文件能够正确加载并生效。
通过以上步骤,你应该能够将 msvcp140.dll 文件恢复到指定的版本 14.40.33810.0。记得在操作系统文件上进行更改时要小心,并确保备份重要文件以防万一。
方式2:
直接加宏:
_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR
应用后解决。