不多说了,想编译这个库的,都知道这是个啥,介绍个毛背景啊。呵呵。
1.准备工作,需要安装的软件及工具
Vs2010(skia官网上说要装windows sdk v7.0,实际上如果你装上vs2010,那这个sdk已经被装好了), cygwin,(注意安装上svn与python,官网说要装svn客户端,实际上cygwin里面你就可以选择安装,不用另外安装,python也一样。)
反正有了这两样,基本就ok了。
2.Checkout及配置代码
svn checkout http://skia.googlecode.com/svn/trunk/ skia-read-only
然后打开cygwin,进入skia目录下,有一个python脚本gyp_skia,在cygwin终端下运行
Python gyp_skia
如果你很幸运,运行完后,应该会出
Updating projects from gyp files...
不过我这里遇到了一个很麻烦的问题,报了如下的错误。
File "/usr/local/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/local/lib/python2.7/subprocess.py", line 1143, in _execute_child
self.pid = os.fork()
OSError: [Errno 11] Resource temporarily unavailable
解决办法如下:
1.安装dash和rebaseall
2.退出cygwin
3.在另外的shell环境下,我这里用了mingw这个,(我觉得也可以把cygwin的加入到环境变量里,在windows自带的cmd里面搞)。运行dash rebaseall
就ok了。
再运行Python gyp_skia,就基本没问题了。
3.编译
上面配置完成后,会出现一个out目录,里面有vs2010的工具配置文件。剩下的就是打开工程,F5了。不过还是不幸的出错了。
这回是这个错误:error C2220: 警告被视为错误
这个错误,我这里出现了两次,1.在gm的verttext.cpp文件,2.src/effects目录里面。解决方案相当狗血。我在网上查了这个错误,解决方案居然是删除原文件,重新建一个。就这样,居然好了。
第二个错误,是关于qt的。
QApplication: No such file or directory
这个问题,解决了很长时间,根本原因是找不到头文件,但是我死活不知道为什么,后来看了编译脚本,才发现原因。
其实如果你不想管这个问题,也不会有什么大问题,只是我觉得这样十分不爽。
于是,安装qt 4.8.3版本,因为最新的qt5的头文件路径什么的,大不相同,所以还是采用了他们配置推荐的4.8.3版本。
但是,这里他们的脚本有错误,在gyp目录下,debugger.gyp文件52行,关于win平台的构建
[ 'skia_os == "win"', {
'variables': {
# This is the default location for the version of Qt current on 10/11/12
'qt_sdk%': 'C:/Qt/4.8.3/',
},
这样子,是编译选项里面肯定是找不到头文件的。Linux可以这样构建路径,windows不行
我的qt相对于项目目录,我修改成了如下的样子
'qt_sdk%': 'http://www.cnblogs.com/Qt/4.8.3',
于是再按F5,世界和平,搞定。
参考链接:
官方的windows平台编译文档(这个链接要翻墙,自己找梯子吧)
https://sites.google.com/site/skiadocs/user-documentation/quick-start-guides/windows
解决cygwin问题的链接
http://stackoverflow.com/questions/11990350/pip-error-while-installing-package-in-cygwin-python2-7
qt4.8.3下载链接
http://download.qt-project.org/official_releases/qt/4.8/4.8.3/
我这里下载的是 qt-win-opensource-4.8.3-vs2010.exe这个。
编译通过,就可以开始学习skia这个图形库了。