windows下编译skia dll
来源:互联网 发布:家谱编辑软件 编辑:程序博客网 时间:2024/06/05 10:27
1.正常流程编译skia.
2.skia.sln当中的core项目,改成DLL项目,再添加引用项目
3.更改include/core/skpreconfig.h,添加
#pragma warning(disable:4251)#define SKIA_DLL#define WIN32#define SKIA_IMPLEMENTATION 1
第一行的防止出现EXPORT类引用非EXPORT出现的错误,
之后三行主要作用是将SKIA_API定义为__declspec(dllexport)这样就能够导出。
4.编译可以产生skia_core.dll,
5.使用该DLL
但是需要注意的是,如果要使用这个DLL,则不仅需要链接skia_core.lib(导出库),也需要更改skpreconfig.h当中的内容,因为
#define SKIA_IMPLEMENTATION 1 会导致SK_API为__declspec(dllexport),但是实际上我们需要的是__declspec(dllimport),因此
skpreconfig.h应该改为
#pragma warning(disable:4251)#define SKIA_DLL#define WIN32#if !defined(SKIA_IMPLEMENTATION)#define SKIA_IMPLEMENTATION 1#endif
另外使用的时候需要在头文件当中添加
#define SKIA_IMPLEMENTATION 0
最后,preprocessor可以直接复制生成core项目的preprocessor。
6.例子(debug版本的)
#pragma once#defineSK_GAMMA_SRGB#defineSK_GAMMA_APPLY_TO_A8#defineSK_ALLOW_STATIC_GLOBAL_INITIALIZERS 1#defineSK_SCALAR_IS_FLOAT#defineSK_CAN_USE_FLOAT#defineSK_SUPPORT_GPU 1#defineSK_BUILD_FOR_WIN32#defineSK_IGNORE_STDINT_DOT_H#define_CRT_SECURE_NO_WARNINGS#defineGR_GL_FUNCTION_TYPE __stdcall#defineSK_DEBUG#defineGR_DEBUG 1#defineSK_DEVELOPER 1 #define SKIA_IMPLEMENTATION 0#include <SkUtils.h>#include <SkPaintFlagsDrawFilter.h>#include <SkBlurMaskFilter.h>#include <SkEmbossMaskFilter.h>#include <SkPaint.h>#include <SkStream.h>#include <SkTypeface.h>#include <SkDevice.h>#include <SkImageDecoder.h>#include <SkImageEncoder.h>#include <SkCanvas.h>#include <SkDashPathEffect.h>//#include <platform_device.h>//#include <platform_canvas.h>//#include <bitmap_platform_device.h>
7.其他
另外git-hub上边也有skia_dll的项目,地址https://github.com/vosvos/skia-win32-dll,并且这个项目还把chrome的skia_ext项目给整合进去了,不过最大的问题是太老了,已经一年多没有更新了,实际skia日新月异,所以还是有点问题的,不过可以参考一下。
- windows下编译skia dll
- skia windows下编译dll
- windows环境下编译skia
- windows环境下编译skia
- skia编译在windows下编译教程
- skia编译在windows下编译教程
- skia编译在windows下编译教程
- windows环境下编译skia(一)
- Windows下从源码编译Skia
- skia windows 编译
- unbuntu下编译skia
- Skia简介以及在Windows下编译操作步骤
- 在Windows下编译多种VS版本的Skia
- 在Windows下编译多种VS版本的Skia
- 在windows上编译skia
- SKIA 编译
- windows下编skia库(vs2010)
- windows 平台下 skia 下载安装说明
- javascript阻止事件冒泡和浏览器的默认行为
- WebBrowser控件应用【学习ing】
- monkeyrunner的录制和回放学习总结
- 集群计算系统Spark——安装
- 增量升级APK
- windows下编译skia dll
- XMLHttpRequest设置超时时间
- C++笔试题目集合
- 如何把应用程序的快捷方式(shortcuts)添加到桌面——(开源项目apps-for-android中的AnyCut项目详解)
- linux下ping的C语言实现
- PHP缩略图生成,等比例,基于GD库,支持gif,jpeg,png
- (转)直接拿来用!最火的iOS开源项目(一)
- 德州高铁
- 解决 “regsvr32 注册ocx 找不到指定的模块”的问题