不多說了,想編譯這個庫的,都知道這是個啥,介紹個毛背景啊。呵呵。
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這個圖形庫了。