Closed Fleurman closed 7 months ago
While IL2CPP does support the System.UIntPtr and pointer arithmetic, constant nint
/nuint
are a recent addition to C# and IL2CPP clearly does not handle them well.
https://github.com/oleg-st/ZstdSharp/blob/314fbc4c7e87c4eec503090c23d93329d25e4b59/src/ZstdSharp/Unsafe/ZstdInternal.cs#L17
Potential fix would be changing this const
to a static readonly
, or reporting a IL2CPP bug and waiting.
Hi,
I am not familiar with the Unity. How I can reproduce this issue?
Is it possible to run IL2CPP itself with ZstSharp?
@Fleurman I think it's fixed in 0.7.2 Could you check it?
It is fixed ! You are formidable thank you very much !!
PS: to answer to your first question, I don't think you can run IL2CPP by istelf.
Hi, it's fixed in version 0.7.2, but reopen in version 0.7.3, please check
@hoainam1593 What version of the Unity are you using?
it happen on both unity 2021.3.22 and 2022.3.13
The compilation error for 0.7.3 can be fixed, but now I'm getting a runtime error for 0.7.2 with Unity 2022.3.13f1 for code that previously worked
@hoainam1593 Released 0.7.4 with compilation fix for IL2CPP, runtime error still needs to be looked into
it works now on v0.7.4, many thanks
Hi,
I'm on an Unity project that uses MongoDB. I have all the MongoDB assemblies and dependencies wich includes ZstdSharp.
When building for WebGL, I get this error:
I asked for help on the Unity forum and got this explanation: "Unity uses the IL2CPP scripting backend to convert .NET assemblies to C++ to support AOT (Ahead Of Time) compilation which is a requirement on platforms like WebGL. The System.UIntPtr type in your error message is a pointer type and pointer arithmetic is not supported in IL2CPP which could be causing the error."
Also I'm told to "Check if there's a version of ZstdSharp that's compatible with WebGL."
I know it is more likely to be an issue with Unity and their IL2CPP, but do you think there is a way I could make it work ?
Thanks a lot !