SkiaSharp icon indicating copy to clipboard operation
SkiaSharp copied to clipboard

[BUG] UWP EXEC conversion error SKTextBlob::CreatePositioned

Open SashelI opened this issue 2 years ago • 1 comments

Description

Hi,

When trying to use skiasharp on a UWP built with Unity, this happens : svg.skia issue

This is a link to anotehr issue because It happens in svg.skia.cpp but on a skiasharp method... Unity builds fone but this is when building a package from IL2CPP.

Code

It is just a compilation error.

Expected Behavior

App compiles well.

Actual Behavior

Error and build can't proceed.

Version of SkiaSharp

2.88.3 (Current)

Last Known Good Version of SkiaSharp

Other (Please indicate in the description)

IDE / Editor

Visual Studio (Windows), Other (Please indicate in the description)

Platform / Operating System

Windows

Platform / Operating System Version

UWP

Devices

HoloLens2 / Windows

Relevant Screenshots

No response

Relevant Log Output

1>EXEC : error : Unity.IL2CPP.Building.BuilderFailedException: Svg.Skia.cpp
1>C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\Source\il2cppOutput\Svg.Skia.cpp(11638): error C2664: 'SKTextBlob_t5A224EAAE51CDAE3AC22F0117DB16B3D16BDE3DB *SKTextBlob_CreatePositioned_mD6854C5848231F736785A7E922DBC41145BB8C69(String_t *,SKFont_tC395A6D2120F06176FC8D28A21BD2B70511A9D0E *,ReadOnlySpan_1_t6EC0A6555D2AA6759727FFA6D6B26499FE81A6BF,const RuntimeMethod *)'�: impossible de convertir l'argument 3 de 'ReadOnlySpan_1_t72A99341F6FD442048F249ECC03200102D1EA4AF' en 'ReadOnlySpan_1_t6EC0A6555D2AA6759727FFA6D6B26499FE81A6BF'
1>C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\Source\il2cppOutput\Svg.Skia.cpp(11638): note: Aucun op�rateur de conversion d�finie par l'utilisateur disponible qui puisse effectuer cette conversion, ou l'op�rateur ne peut pas �tre appel�
1>C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\Source\il2cppOutput\Svg.Skia.cpp(4493): note: voir la d�claration de 'SKTextBlob_CreatePositioned_mD6854C5848231F736785A7E922DBC41145BB8C69'
1>C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\Source\il2cppOutput\Svg.Skia.cpp(11638): note: lors de la tentative de mise en correspondance de la liste des arguments '(String_t *, SKFont_tC395A6D2120F06176FC8D28A21BD2B70511A9D0E *, ReadOnlySpan_1_t72A99341F6FD442048F249ECC03200102D1EA4AF, int)'
1>
1>Invocation was: Executable: "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\HostX64\ARM64\cl.exe"
1>Arguments: "C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\Source\il2cppOutput\Svg.Skia.cpp" /nologo /c /bigobj /W3 /Z7 /EHs /GR- /Gy /utf-8 /wd4102 /wd4800 /wd4056 /wd4190 /wd4723 /wd4467 /wd4503 /wd4996 /wd4200 /wd4834 /wd4722 /Ox /Oi /Oy- /GS- /Gw /GF /Zo /Yupch-cpp.hpp /Fp"C:\DevPerso\_Builds\HarborHL\build\obj\il2cppOutputProject\ARM64\Release\57DA57A1CF804A4DFC88B3636B712447.pch" /MD -d2ssa-cfg-jt- /DWINDOWS_UWP /DUNITY_UWP /DUNITY_WSA_10_0 /DUNITY_WSA /DUNITY_WINRT /DPLATFORM_WINRT /DNET_4_0 /DUNITY_AOT /DIL2CPP_MONO_DEBUGGER_DISABLED /DGC_NOT_DLL /DRUNTIME_IL2CPP /DBASELIB_INLINE_NAMESPACE=il2cpp_baselib /DIL2CPP_DEFAULT_DATA_DIR_PATH=Data/il2cpp_data /DBASELIB_USE_DYNAMICLIBRARY=1 /D_WIN32 /DWIN32 /DWIN32_THREADS /D_WINDOWS /DWINDOWS /D_UNICODE /DUNICODE /D_CRT_SECURE_NO_WARNINGS /D_SCL_SECURE_NO_WARNINGS /D_WINSOCK_DEPRECATED_NO_WARNINGS /DNOMINMAX /D_NDEBUG /DNDEBUG /DWINDOWS_SDK_BUILD_VERSION=22621 /D__WRL_NO_DEFAULT_LIB__ /DWINAPI_FAMILY=WINAPI_FAMILY_APP /I"C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\IL2CPP\libil2cpp" /I"C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\IL2CPP\libil2cpp" /I"C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\IL2CPP\external\bdwgc\include" /I"C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\IL2CPP\external\xxHash" /I"C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\IL2CPP\external\baselib\Include" /I"C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\IL2CPP\external\baselib\Platforms\UniversalWindows\Include" /I"C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\IL2CPP\libil2cpp\pch" /I"C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\IL2CPP\libil2cpp\os\ClassLibraryPAL\brotli\include" /I"C:\DevPerso\_Builds\HarborHL\Il2CppOutputProject\Source" /I"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include" /I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared" /I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um" /I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\winrt" /I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt" /Fo"C:\DevPerso\_Builds\HarborHL\build\obj\il2cppOutputProject\ARM64\Release\7CE9CD23BEFFDE1F4F02B0DE971C7609.obj" /Fd"C:\DevPerso\_Builds\HarborHL\build\obj\il2cppOutputProject\ARM64\Release\7CE9CD23BEFFDE1F4F02B0DE971C7609.pdb"
1>EnvArg key: PATH value: C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x86;C:\Program Files (x86)\Windows Kits\10\bin\x86;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\HostX64\x64
1>
1>   at Unity.IL2CPP.Building.CppProgramBuilder.BuildAllCppFiles(IEnumerable`1 sourceFilesToCompile, IBuildStatisticsCollector statisticsCollector)

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct

SashelI avatar Jan 25 '24 13:01 SashelI

Hi, issue is still on the go. for now a workaround is to change line 4493 of Svg.Skia.cpp by

// SkiaSharp.SKTextBlob SkiaSharp.SKTextBlob::CreatePositioned(System.String,SkiaSharp.SKFont,System.ReadOnlySpan`1<SkiaSharp.SKPoint>)
IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR SKTextBlob_t5A224EAAE51CDAE3AC22F0117DB16B3D16BDE3DB* SKTextBlob_CreatePositioned_mD6854C5848231F736785A7E922DBC41145BB8C69 (String_t* ___0_text, SKFont_tC395A6D2120F06176FC8D28A21BD2B70511A9D0E* ___1_font, ReadOnlySpan_1_t72A99341F6FD442048F249ECC03200102D1EA4AF ___2_positions, const RuntimeMethod* method) ;

But it needs to be done at every build........

SashelI avatar Feb 05 '24 13:02 SashelI