用 3.8.6 版本 使用 Hello World 发布 Windows 版本,使用 Visual Studio 2022 版本编译预览,报错
0x00007FFA318A3240 (msvcp140d.dll)处(位于 NewProject_6.exe 中)引发的异常: 0xC0000005: 读取位置 0x0000000000000000 时发生访问冲突。
复现方式如上,复现100%
用 3.8.6 版本 使用 Hello World 发布 Windows 版本,使用 Visual Studio 2022 版本编译预览,报错
0x00007FFA318A3240 (msvcp140d.dll)处(位于 NewProject_6.exe 中)引发的异常: 0xC0000005: 读取位置 0x0000000000000000 时发生访问冲突。
复现方式如上,复现100%
有两种方法:
msvcp140.dll msvcp140d.dll msvcrt.dll),并且安装最新版本的vc runtime redistributable。我先下载 Visual Studio 2019 试试看,直接用 Visual Studio 2019 打开并编译也是可以的吧
直接用2019打开是可以的
native/engine/win64/CMakeLists.txt 加上
if(WIN32)
target_compile_definitions(${ENGINE_NAME} PUBLIC _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR)
endif()
不过使用 visual studio 2019 打开项目后,查看有这种报错
15:15:32 [ERROR]: JS: rejectAfterPromiseResolved
15:15:32 [ERROR]: [ERROR] file C:\demo\cocos-engine-bak\native\cocos\application\CocosApplication.cpp: line 173
15:15:32 [ERROR]:
Uncaught Exception:
导致 显示白屏,这种需要怎么处理
Hello World 工程可以,业务项目不行。
版本用 CocosCreator 3.7.3 了
可能是js抛异常了。
构建时勾选 这个选项后报错解决,但是不知道这个的具体功能是什么,有没有大神求指导下?

使用 Visual Studio 2019 版本可以,2022版本一直尝试不行,放弃。
我记得这个报错好像是一次vs2022更新导致的,我那时候用的应该是cocos3.8.3的版本,一开始一直用的都没问题,然后有一天我更新了下vs2022,其他啥都没动,编译后运行就报这个错误,之后也是查解决方法,说是改用vs2019编译就行了,就这样我到现在都一直用的是vs2019
在预处理器里定义_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR也可以解决