最新在研究跨平台的2D繪圖引擎,在Agg,Cario,Skia,Qt四個底層引擎里選擇,最終發現Skia是最符合要求的。Skia的歷史來來由我就不多說了,百度,google一下就明白他是個啥東西。
選擇了Skia那么就需要在不同的平台下編譯這個它,在官方網址上有linux詳細的編譯教程我就不再這個贅述了,其實Windows下的編譯過程在Skia的官網上也是有的,為了方便自己和所有想我一樣有需要的人在這里記錄一下編譯過程。
編譯環境:
系統:Windows 10 x64
編譯IDE:visual studio 2015
需要安裝git工具:參考 http://www.liaoxuefeng.com/
首先,要准備編譯的工作按照官網的提示把源代碼下載下來,我是從Github上的google的映射倉庫上直接克隆到本地的:
https://github.com/google/skia 使用git的shell

官網(https://skia.org/)編譯提示說明需要google的跨平台編譯工具gyp,gclient什么的,這個不要管。直接到skia源代碼目錄下查看編譯依賴的庫文件DEPS
文件內容如下:
圖片內容是文件DEPS的一部分,把文件中的所有需要的庫git下來,每一行第一個引號的內容表示git下來的代碼放在Skia源代碼目錄的位置,后邊的字符串以@為分隔符
前半部分是遠程代碼倉庫地址,對應的提交版本號。(如不明白這個串可以參考:http://www.liaoxuefeng.com/ 的 [git教程的]->[版本回退]的內容。另外告訴各位童鞋由於國內限制了google的服務器所以這個遠程倉庫是沒辦法直接git下來的,我是在網上找的免費的代理服務器一個個的庫下載的費了我一天的時間,吐槽一下。
下載所有依賴的原來代碼倉庫后,把這些庫拷貝到指定的Skia目錄下,接下來就是生成vs的工程和解決方案了。
方法用命令行工具進入到Skia源代碼目錄
不出意外的話會再當期目錄下生成一個out目錄,里邊就是生成大的各種工程和解決方案。不過按以往編譯開源庫的經驗,這個以外是必然的。有可能出的問題是會提示import gyp不成功,這個問題着實費了我點時間,其實嗎很簡單只要將 ...\skia\third_party\externals\gyp\pylib 目錄下的gyp目錄拷貝到你的python的安裝目錄的lib目錄下就可以了。拷貝之后再測圓形python gyp_skia.py命令就運行完成了。執行這個命令生成的是ninja的編譯文件,要生成visual studio的工程文件需要在命令行中設置環境變量
GYP_GENERATORS=msvs

最后用vs2015打開skia.sln解決方案進行編譯,編譯過程是很耗時間滴,而且還有有錯誤,不要怕,看錯誤提示發下是有三個工程把警告報為error,在vs2015中把錯誤等級修改一下就可以了。最后在編譯,成功后運行示例程序SampleApp你就能看到一個圓一個方框和一個選裝的文字了。
好的,祝你順利。如需交流請發郵件:xuebingbing100@163.com