focus-creative-games / hybridclr

HybridCLR是一个特性完整、零成本、高性能、低内存的Unity全平台原生c#热更新解决方案。 HybridCLR is a fully featured, zero-cost, high-performance, low-memory solution for Unity's all-platform native c# hotupdate.

Home Page:https://code-philosophy.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

打包报错error: expected expression: IL2CPP_POP_ACTIVE_EXCEPTION();

H2ojunjun opened this issue · comments

QQ图片20231127183539
打包时报上述错误,经排查发现在HybirdCLR的ilbil2cpp中有如下定义:
QQ图片20231127183426
检查发现打包出来的il2cpp翻译后的代码中调用的宏是:IL2CPP_POP_ACTIVE_EXCEPTION();但是IL2CPP_POP_ACTIVE_EXCEPTION只有一个带参数的版本。此时就会打包报错。
但有时打包出来的il2cpp代码中又是正常的IL2CPP_POP_ACTIVE_EXCEPTION(Exception_t*);
所以会偶尔打包失败,此时需要重新install hybirdCLR可以解决问题,但有没有什么更方便的解决方案以及原理是什么,望解答!

Unity版本: 2022.3.13f1c1
HybirdCLR版本:4.0.12

2021.3.31及2022.3.10版本 这个宏定义发生变化,导出会出现编译错误,我们在v4.0.9版本起合并了这个改动。升级最新hybridclr版本即可。