找回密码
 立即注册
查看: 260|回复: 0

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

[复制链接]
发表于 2023-4-6 05:58 | 显示全部楼层 |阅读模式
我们项目使用了tolua以及websocket,将它从 2019 升级到2021的时候报unreachable了,以及runtime is not defined。
当初找问题的时候说实话还是找了挺久一段时间的…过程就懒得说了…挺折磨人
Unreachable

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

Runtime is not defined

实际上就是写法不兼容,找个2021的unitywebsocket库装一下就好。在2021已经没有Runtime这个成员了。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-14 11:19 , Processed in 0.143455 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表