Невозможно найти точку входа с именем «sk_color_get_bit_shift» в DLL «libSkiaSharp».при использовании SkiaSharp 15.9.1 - PullRequest
0 голосов
/ 28 сентября 2019

Я пытаюсь создать и использовать проект MicoCharts, доступный здесь: https://github.com/dotnet-ad/Microcharts, который зависит от этого проекта SkiaSharp, доступного здесь: https://github.com/mono/SkiaSharp

Конкретная версия, которую я пытаюсь использовать,15.9.1 (версия, которую загружает пакет nuget), использующий Skia M59.

Мне нужно собрать их самостоятельно, и я не могу использовать Nuget из-за бизнес-ограничений, просто использовать пакет для меня не вариант.

Я создал skia m59, SkiaSharp и MicroCharts, но когда я пытаюсь создать объект SKBitmap, я получаю сообщение об ошибке при попытке инициализировать SkiaSharp.SKImageInfo.Ошибка выглядит следующим образом:

Невозможно найти точку входа с именем 'sk_color_get_bit_shift' в DLL 'libSkiaSharp'.

Мне пришлось внести несколько изменений в базуBUILD.gn, чтобы указать на правильное расположение файлов, для Windows SDK и VC установить.Я включил skia_use_gdi в BUILD.gn и выполнил следующие команды:

python2 tools/git-sync-deps

gn gen out/Release --args="is_debug=false is_official_build=true skia_use_system_expat=false skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false skia_use_icu=false is_component_build=true"

ninja -C out/Release skia

Этот процесс выводит DLL, которую я предположил, такая же, как libSkiaSharp, на которую опирается проект SkiaSharp.Я добавляю все свои ссылки и запускаю, проект запускается успешно, пока я не попытаюсь создать объект SkBitmap, а затем произойдет сбой.

Либо эта DLL не является правильной DLL, и я что-то здесь неправильно понимаю, либо что-то в моем процессенеправильно.Я хотел бы получить любую помощь, поскольку я совершенно новичок в создании проектов такого рода, я по профессии разработчик C #.

...