l147258369 发表于 2023-4-6 05:58

Unity微信小游戏从2019升级到2021遇到的小坑

我们项目使用了tolua以及websocket,将它从 2019 升级到2021的时候报unreachable了,以及runtime is not defined。
当初找问题的时候说实话还是找了挺久一段时间的…过程就懒得说了…挺折磨人
Unreachable

经检查与extern函数签名有关,参数以及返回类型都要对上,但挺好奇为啥2019就没这个问题,检查过源码,都一样的。一般来说指针相关的,包括字符串,我们都可以用IntPtr来替换。如果要返回bool的话,请务必在给函数标注上特性 ,听说c是没有布尔值的。
当实际上似乎unity会在Console的Warnning上提醒你有哪些函数可能导致unreachable,只能说,严重吃了不看warnning的亏了。我甚至还反编译wasm,以及写了工具收集和分析c代码的函数签名和c#对应的extern函数的函数签名…太无语了。

Runtime is not defined

实际上就是写法不兼容,找个2021的unitywebsocket库装一下就好。在2021已经没有Runtime这个成员了。
页: [1]
查看完整版本: Unity微信小游戏从2019升级到2021遇到的小坑