Windows环境VS2017编译skia库,亲测成功,借助skui的方法

Skia简介

Skia是一个开源的二维图形库,提供各种常用的API,并可在多种软硬件平台上运行。谷歌Chrome浏览器、Chrome OS、Fuchsia、安卓、Flutter、火狐浏览器、火狐操作系统以及其它许多产品都使用它作为图形引擎。Skia由谷歌出资管理,任何人都可基于BSD免费软件许可证使用Skia。Skia开发团队致力于开发其核心部分, 并广泛采纳各方对于Skia的开源贡献。

Skui简介

本人亲测,采用Google官方提供的编译方式很难成功。

偶然发现了skui这个开源项目。skui使用了skia库。

Skia-based C++ UI framework

https://github.com/skui-org/skui

skui学习笔记(一)入门使用_czhzasui的博客-CSDN博客

因为编译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;

---

Ninja, a small build system with a focus on speed

GitHub - ninja-build/ninja: a small build system with a focus on speed

windows 安装ninja_如雾如电的博客-CSDN博客_ninja安装 windows 安装ninja

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值