Skia简介
Skia是一个开源的二维图形库,提供各种常用的API,并可在多种软硬件平台上运行。谷歌Chrome浏览器、Chrome OS、Fuchsia、安卓、Flutter、火狐浏览器、火狐操作系统以及其它许多产品都使用它作为图形引擎。Skia由谷歌出资管理,任何人都可基于BSD免费软件许可证使用Skia。Skia开发团队致力于开发其核心部分, 并广泛采纳各方对于Skia的开源贡献。
源代码: skia.googlesource.com/skia
提议: bug.skia.org
论坛: skia-discuss@googlegroups.com
skia官网: https://skia.org
谷歌github镜像: https://github.com/google/skia
Skui简介
本人亲测,采用Google官方提供的编译方式很难成功。
偶然发现了skui这个开源项目。skui使用了skia库。
Skia-based C++ UI framework
https://github.com/skui-org/skui
https://blog.csdn.net/czhzasui/article/details/103457105
因为编译skui的过程,会编译skia库,殊途同归,最终可以得到我想要的skia库。
Skui编译
下面描述编译过程:
1、我的编译环境:Win7 x64,VS2017
2、源码下载,注意Windows和Linux命令行的\和/的区别。
从github上克隆仓库
git clone https://github.com/skui-org/skui.git
进入仓库
cd skui
更新子模块仓库
git submodule update --init --recursive
如果网络不好,可能会在拉取skia的时候卡住,这时候进入3rdparty目录再次拉取
cd 3rdparty
git submodule update --init --recursive
cd ..
这样就拉取了skui所有源码。
如果实在还是拉取不成,那就直接点击github相关的链接,进入后,手动下载。
点击进入“3rdparty”目录,
进入页面,使用页面默认的版本,下载skia源码
3、源码准备好,就可以编译
mkdir ..\skui-build
cd ..\skui-build
接下来,可以选择MSVC编译,也可以选择Ninja编译
cmake ..\skui -G "Visual Studio 15 2017 Win64"
或者 cmake ..\skui -G Ninja
cmake --build .
笔者注:如果是使用MSVC编译,个人建议还是使用cmake-gui.exe可视化的方式代替命令行。
MSVC编译,请选择Windows SDK v10.x版本,千万不要选v8.1版本,否则编译skia库会失败。
另外,cmake工程选项,使用默认值,不做任何修改。skia是静态库编译,MDd/MD的运行时库。
4、运行一下例程,是个很小的弹出窗口。
F:\tmp-source\qt-hmi\skia\skui-build>examples\widget_gallery\debug\widget_gallery.exe
5、关于widget_gallery.exe运行报异常的问题,我提交了issues
https://github.com/skui-org/skui/issues/12
If you want to play around with the code as is, you can change gui/window_windows.c++:L29 to this:
const window_flags window::default_flags = window_flag::exit_on_close | window_flag::anti_alias;
---
https://github.com/ninja-build/ninja
https://blog.csdn.net/qq_20373723/article/details/84061647 windows 安装ninja