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

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

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相关的链接,进入后,手动下载。


image.png


点击进入“3rdparty”目录,

image.png



进入页面,使用页面默认的版本,下载skia源码


image.png



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的运行时库。


image.png



4、运行一下例程,是个很小的弹出窗口。


F:\tmp-source\qt-hmi\skia\skui-build>examples\widget_gallery\debug\widget_gallery.exe


image.png



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://ninja-build.org/


https://github.com/ninja-build/ninja


https://blog.csdn.net/qq_20373723/article/details/84061647 windows 安装ninja


相关文章
|
11天前
|
人工智能 数据处理 C#
AI Dev Gallery:微软开源 Windows AI 模型本地运行工具包和示例库,助理开发者快速集成 AI 功能
微软推出的AI Dev Gallery,为Windows开发者提供开源AI工具包和示例库,支持本地运行AI模型,提升开发效率。
53 13
|
1月前
|
弹性计算 开发框架 安全
基于云效 Windows 构建环境和 Nuget 制品仓库进行 .Net 应用开发
本文将基于云效 Flow 流水线 Windows 构建环境和云效 Packages Nuget 制品仓库手把手教你如何开发并部署一个 .NET 应用,从环境搭建到实战应用发布的详细教程,帮助你掌握 .NET 开发的核心技能。
|
2月前
|
Dart 搜索推荐 IDE
Windows下Zed编辑器配置Dart环境
本文介绍了Dart编程语言及其主要框架Flutter的优势,并推荐使用轻量级编辑器Zed进行Dart开发。详细步骤包括Dart环境的安装与配置,Zed编辑器的安装与个性化设置,以及如何在Zed中编写并运行Dart的HelloWorld程序。通过自定义任务实现Dart文件的快速运行,提高了开发效率。
|
3月前
|
Oracle 关系型数据库 MySQL
Mysql(1)—简介及Windows环境下载安装
MySQL 是一个流行的关系型数据库管理系统(RDBMS),基于 SQL 进行操作。它由瑞典 MySQL AB 公司开发,后被 Sun Microsystems 收购,现为 Oracle 产品。MySQL 是最广泛使用的开源数据库之一,适用于 Web 应用程序、数据仓库和企业应用。
70 2
|
3月前
|
应用服务中间件 Shell PHP
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
|
3月前
|
Windows
Windows系统环境编写DOS批处理文件
Windows系统环境编写DOS批处理文件
57 0
|
16天前
|
安全 关系型数据库 MySQL
Windows Server 安装 MySQL 8.0 详细指南
安装 MySQL 需要谨慎,特别注意安全配置和权限管理。根据实际业务需求调整配置,确保数据库的性能和安全。
87 9
|
2月前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
127 4
|
2月前
|
监控 安全 网络安全
使用EventLog Analyzer日志分析工具监测 Windows Server 安全威胁
Windows服务器面临多重威胁,包括勒索软件、DoS攻击、内部威胁、恶意软件感染、网络钓鱼、暴力破解、漏洞利用、Web应用攻击及配置错误等。这些威胁严重威胁服务器安全与业务连续性。EventLog Analyzer通过日志管理和威胁分析,有效检测并应对上述威胁,提升服务器安全性,确保服务稳定运行。
|
2月前
|
监控 安全 网络安全
Windows Server管理:配置与管理技巧
Windows Server管理:配置与管理技巧
114 3