此文章我在B站也发了,署名Xa_Xa
一、scons platform=windows 命令之后报错
报错
[Initial build] Compiling thirdparty\thorvg\src\loaders\svg\tvgSvgCssStyle.cpp ...
[Initial build] Compiling thirdparty\thorvg\src\loaders\svg\tvgSvgLoader.cpp ...
[Initial build] Compiling thirdparty\thorvg\src\loaders\svg\tvgSvgPath.cpp ...
[Initial build] Compiling thirdparty\thorvg\src\loaders\svg\tvgSvgSceneBuilder.cpp ...
[Initial build] Compiling thirdparty\thorvg\src\loaders\svg\tvgSvgUtil.cpp ...
[Initial build] Compiling thirdparty\thorvg\src\loaders\svg\tvgXmlParser.cpp ...
[Initial build] Compiling thirdparty\thorvg\src\loaders\raw\tvgRawLoader.cpp ...
D:\Vis Studio\VC\Tools\MSVC\14.43.34808\include\mutex(37): error C3861: ��_Mtx_init_in_situ��: �Ҳ�����ʶ��
D:\Vis Studio\VC\Tools\MSVC\14.43.34808\include\mutex(536): error C3861: ��_Cnd_init_in_situ��: �Ҳ�����ʶ��
D:\Vis Studio\VC\Tools\MSVC\14.43.34808\include\condition_variable(56): error C3861: ��_Cnd_init_in_situ��: �Ҳ�� ���ʶ��
scons: *** [thirdparty\thorvg\src\loaders\svg\tvgSvgLoader.windows.editor.x86_64.obj] Error 2
D:\Vis Studio\VC\Tools\MSVC\14.43.34808\include\mutex(37): error C3861: ��_Mtx_init_in_situ��: �Ҳ�����ʶ��
D:\Vis Studio\VC\Tools\MSVC\14.43.34808\include\mutex(536): error C3861: ��_Cnd_init_in_situ��: �Ҳ�����ʶ��
D:\Vis Studio\VC\Tools\MSVC\14.43.34808\include\condition_variable(56): error C3861: ��_Cnd_init_in_situ��: �Ҳ�� ���ʶ��
scons: *** [thirdparty\thorvg\src\loaders\raw\tvgRawLoader.windows.editor.x86_64.obj] Error 2
scons: building terminated because of
询问AI,认为是这些错误表明编译器无法识别 _Mtx_init_in_situ 和 _Cnd_init_in_situ 函数
二、reddit找到相同的问题回答:
目测是版本太新了,评论有两种方法,一种是降级到VS 17.11.5 ,另一种
去godot4.x的源文件里 找到3个文件,并改三个地方:
godot-4.3-stable\thirdparty\thorvg\src\common tvgLock.h
godot-4.3-stable\thirdparty\thorvg\src\renderer tvgTaskScheduler.h
1.在 tvgLock.h和tvgTaskScheduler.h 文件中
删除#define _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR
2.在 platform/windows/detect.py文件中
添加 "_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR" to CPPDEFINES
最后再次尝试scons platform=windows
成功!
bin目录下的:
希望能帮到和我一样的家人们~~
链接:https://www.reddit.com/r/godot/comments/1gw220q/latest_visual_studio_update_1712_broke_scons/
github链接:https://github.com/godotengine/godot/issues/95861