Closed BlurryLight closed 5 months ago
UE_COMPILER_THIRD_PARTY_INCLUDES_START 是从哪个版本开始的呢? 我自己用pragma也能解决问题: https://github.com/Tencent/puerts/commit/feb4912132684f15cc3641020c896bbea333569c 不过目前只是让其它模块使用静态绑定时不需要设置bEnableUndefinedIdentifierWarnings了。但也能用在JsEnv中,使其可以使用PCH。 UE_COMPILER_THIRD_PARTY_INCLUDES_START还有个问题是有些代码是ue、unity,puerts_node上公用的。
用v8的话,用这个就够了:PRAGMA_DISABLE_UNDEFINED_IDENTIFIER_WARNINGS、PRAGMA_ENABLE_UNDEFINED_IDENTIFIER_WARNINGS
想解决JsEnv不好搞,搞定一个平台发现还有其它平台、其它backend的各种错误
前置阅读 | Pre-reading
Puer的版本 | Puer Version
1.0.6
UE的版本 | UE Version
5.3
发生在哪个平台 | Platform
Editor(win)
错误信息 | Error Message
No response
问题重现 | Bug reproduce
https://forums.unrealengine.com/t/upgrading-to-5-3-benableundefinedidentifierwarnings-doesnt-seem-to-work/1396256
bEnableUndefinedIdentifierWarnings 这个flag在5.3挂了,似乎还没修好。 主要的问题原因在于v8.h里有一些宏没定义。
解决方案
可以用虚幻的宏包裹住
v8.h
的Include即可。WASM
Module 如果不改里面的源码的话,还是需要bEnableUndefinedIdentifierWarnings,因为里面有一些头文件的宏没定义。