Как использовать библиотеку Skia в visual studio

Как подключить к проекту. На оф сайте(https://skia.org/) смотрел, ничего не понятно.
OS Windows 10 Visual Studio 19


Ответы (1 шт):

Автор решения: A. Schneider

Библиотека спокойно прикручивается нужно сделать всего лишь несколько шагов.

Для компиляции и генерирования проекта для Visual Studio 2019 используется gn.exe приложение, которое располагается по пути skia (или то что вы клонировали)/bin/gn.exe.

Ближе к сути:

  1. Открываем консольную строку (Console Command, Win+R->Cmd->Enter). И переходим в корневой каталог где находится ваша skia (К примеру может быть C:/skia/).
  2. Пишем: python2 tools/git-sync-deps, или просто python tools/git-sync-deps
  3. После чтобы сгенерировать проект перейдите в корнейвой каталог вашей библиотеки это к примеру может быть C:/skia/ и напишите в консоли

"bin/gn.exe" gen out/Release --args="is_official_build=true extra_cflags=["/MD"]" --ide=vs -std=c++17

3.1 Если не получился пункт 3 (вернее при компиляции проекта выходят ошибки и невозможно получить skia), то попробуйте следующую команду

"bin/gn.exe" gen out/Release --args="is_official_build=true skia_use_system_libpng=false skia_use_zlib=false skia_use_system_libjpeg_turbo=false skia_use_harfbuzz=false skia_use_expat=false skia_use_system_zlib=false skia_use_libwebp_decode=false skia_use_libwebp_encode=false is_component_build=false skia_use_vulkan=true extra_cflags=["/MD"]" --ide=vs -std=c++17

("bin/gn.exe" обязательно в кавычках иначе не найдёт приложение)

Так оно заранее создаст решение, в котором будет поддерживаться графический API Vulkan.

Если вам нужна библиотека которая будет прикрепляться во время линковки с флагом /MT, то extra_cflags указывать не нужно. Если вы хотите собрать в Debug то поставьте is_official_build=false. Если хотите сгенерировать решение, которое skia будет компилировать не как статическую библиотеку .lib, а .dll то укажите следующий параметр is_component_build=true. После вы можете скомпилировать решение либо через ninja, либо через Visual Studio 2019, ибо решение для вашего редактора было сгенерировано, но учтите что ninja всё равно нужен будет, поэтому установите его себе.

Чтобы отличать генерируемые решение после out/ПишитеВашуСборку, на примере выше я называл Release потому что соответствует сути.

Компиляция через ninja (убедитесь что значение Path в системных параметрах системы был указан каталог до приложения, иначе с консоли вам придётся обращаться к полному пути где располагается ninja). (Из корневого каталога): "ninja -C out/Release"

Надеюсь что помог!

→ Ссылка