Windows下从源码编译Skia

本文档介绍了如何在Windows系统下从源码编译Skia图形库,详细阐述了由于CEF编译出的Skia库无法单独使用的问题,以及通过单独编译Skia的步骤。过程中遇到了编译错误,包括警告被当作错误和字符编码问题,通过调整编译设置和系统locale最终成功编译,并能运行示例程序HelloWorld.exe。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在PPAPI里面绘图,可以结合第三方的图形库,比如Cairo、Skia。Google Chrome、Chromium和Android都使用Skia作为绘图引擎,我也来试试Skia,先过编译关。

foruok原创,如需转载请关注foruok的微信订阅号“程序视界”联系foruok。

CEF编译出的Skia不可单独用

Chromium使用Skia,Windows下从源码编译CEF说明了怎么编译CEF,它会捎带着编译Chromium,里面有Skia,但它编译出来的skia_library.lib无法单独使用,加到VS工程里,报N多链接错误。

只好自己编译了。

单独编译Skia

Windows下编译指南:https://skia.org/user/quick/windows。首先你系统得有Python,我们编译过CEF,有了。

下载skia到这里:https://skia.org/user/download。需要使用git,depot_tools很全,什么都有。

我们之前编译CEF,已自动下载depot_tools,在E:\sources\CEF\2526\depot_tools,设置到path中:

<think>好的,我需要根据用户的要求,基于现有的视图xsdxx创建两个新的视图xsdhytj和xsdgytj,分别统计会员的消费总金额和雇员销售总金额。首先,我需要确认xsdxx视图的结构,因为用户提到过在之前的对话中有相关的表结构信息。 根据用户之前提供的表结构,销售单xsd表有会员hyh、雇员gyh、实际付款sjfk等字段。所以,可以推测xsdxx视图可能包含了这些字段,或者相关的关联信息。接下来,我需要确保新的视图能够正确地进行分组和聚合计算。 对于第一个视图xsdhytj,需要统计每个会员的消费总金额,显示会员hyh、姓名name和实际付款sjfk的合计金额,命名为hjje。这意味着需要按hyh分组,并对sjfk进行SUM聚合,同时可能需要关联顾客表gk来获取会员姓名name。不过,用户提到是根据xsdxx视图来创建新视图,因此需要确认xsdxx是否已经包含会员姓名name字段。如果xsdxx视图中已经关联了gk表,那么直接使用即可;如果没有,可能需要通过JOIN操作关联,但根据用户的问题描述,应该是在现有视图xsdxx的基础上进行操作,所以假设xsdxx已经包含了必要的字段。 同样的,第二个视图xsdgytj需要统计每个雇员销售总金额,显示雇员gyh姓名gyxm和实际付款sjfk的合计金额,命名为hjje。这里同样需要按gyh分组,并SUM(sjfk),同时获取雇员姓名gyxm。同样需要确认xsdxx是否包含雇员姓名,或者是否需要关联工作人员表gzry。但根据用户的要求,是基于xsdxx视图,所以可能xsdxx已经包含这些信息。 接下来,编写SQL语句时需要注意使用GROUP BY对会员雇员进行分组,并使用SUM函数计算合计金额。同时,字段别名需要符合要求,比如hjje作为合计金额的别名。此外,视图的创建语法要正确,使用CREATE VIEW语句。 需要检查是否存在字段名称冲突,例如,如果xsdxx视图中已经有name和gyxm字段,可以直接使用;如果没有,可能需要通过JOIN来获取,但根据用户的问题,应该不需要,因为任务是基于现有视图的。因此,可能xsdxx已经包含了所有必要的字段,包括会员姓名雇员姓名。 最后,确保SQL语法正确,特别是聚合函数和分组的使用,以及字段别名的正确命名。同时,考虑到视图的创建可能需要权限,但用户的问题主要集中在SQL语句的编写上,所以这部分可以暂时忽略。</think>### 分步解答 #### 一、确认视图`xsdxx`结构 根据原始表结构和任务要求,可推断`xsdxx`视图包含以下关键字段: - 会员 `hyh` - 雇员 `gyh` - 实际付款 `sjfk` - 会员姓名 `name`(来自`gk`表) - 雇员姓名 `gyxm`(来自`gzry`表) #### 二、创建会员消费统计视图`xsdhytj` **目标**:统计每个会员的消费总金额 **字段要求**:`hyh`, `name`, `sjfk`合计(`hjje`) **SQL实现**: ```sql CREATE VIEW xsdhytj AS SELECT hyh, name, SUM(sjfk) AS hjje FROM xsdxx GROUP BY hyh, name; ``` **技术要点**: 1. 使用`GROUP BY hyh, name`确保按会员唯一性分组 2. `SUM(sjfk)`聚合实际付款金额[^3] 3. 视图继承`xsdxx`中已有的关联关系(如会员信息与销售记录的连接)[^1] #### 三、创建雇员销售统计视图`xsdgytj` **目标**:统计每个雇员销售总金额 **字段要求**:`gyh`, `gyxm`, `sjfk`合计(`hjje`) **SQL实现**: ```sql CREATE VIEW xsdgytj AS SELECT gyh, gyxm, SUM(sjfk) AS hjje FROM xsdxx GROUP BY gyh, gyxm; ``` **技术要点**: 1. `GROUP BY gyh, gyxm`避免雇员重名导致统计错误 2. 通过视图复用已关联的雇员信息(无需重复连接`gzry`表)[^2] #### 、验证视图(可选) 1. 检查会员统计结果: ```sql SELECT * FROM xsdhytj ORDER BY hjje DESC LIMIT 5; ``` 2. 检查雇员统计结果: ```sql SELECT gyh, gyxm, hjje FROM xsdgytj WHERE hjje > 10000; ``` ### 补充说明 1. **性能优化**:若统计频繁使用,可在原表`xsd`的`hyh`和`gyh`字段建立索引 2. **数据更新**:视图数据随`xsdxx`视图的更新自动刷新[^4] 3. **字段扩展**:如需添加统计次数,可增加`COUNT(*) AS xscs`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

foruok

你可以选择打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值