windows下编译skia库
windows下編譯skia庫
環(huán)境需求:
1、安裝python2.7.x:
python3系列可能又某些庫不支持,所以推薦使用python2.7.15(最新)。
如何檢查是否安裝python:
1、首先cmd輸入python,如果顯示了python版本號,則是已安裝python
Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:22:17) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information.
2、如果確認已安裝但是還是提示
'python' 不是內(nèi)部或外部命令,也不是可運行的程序 或批處理文件。
則檢查系統(tǒng)環(huán)境變量Path是否有python所在目錄,如果沒有,需要添加到系統(tǒng)環(huán)境變量Path中
2、安裝git:
用于拉取skia源碼和依賴工具depot_tools
3、安裝Visual Studio:
安裝Visual Studio2017或者Visual Studio2015 update3以上。
推薦安裝Visual Studio2017。
準備工作:
1、下載依賴工具depot_tools
git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.git'
2、將depot_tools所在目錄添加到環(huán)境變量中
測試是否成功添加,需要用cmd,輸入 ninja
ninja: error: loading 'build.ninja': 系統(tǒng)找不到指定的文件。是配置成功
"ninja" 不是內(nèi)部或外部命令,也不是可運行的程序或批處理文件。則是配置失敗
3、下載Skia源碼
git clone https://skia.googlesource.com/skia.git
4、進入到skia的源碼目錄
使用cmd進入skia的源碼目錄
cd F:/skia
5、執(zhí)行python腳本
python tools/git-sync-deps
6、將skia/bin/gn.exe設置到環(huán)境變量中
測試:
cmd下輸入gn
正常情況下會輸出日志:ERROR No command specified. Most commonly you want "gn gen <out_dir>" to make a build dir. Or try "gn help" for more commands.
如果沒配置好,則會顯示
"gn" 不是內(nèi)部或外部命令,也不是可運行的程序或批處理文件。則是配置失敗
7、配置目錄
(1)設置你的VC工具集到構(gòu)建配置文件中
①用Notpad++打開 skia/gn/BUILDCONFIG.gn 文件
② 第32行, 將 win_vc = “” 的值設置為你的VisualStudio的安裝目錄下的VC目錄。(每一臺計算機的路徑都不同)
比如我的設置: win_vc = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC"
(2)執(zhí)行相應的命令來構(gòu)建你的目標配置
## 在skia目錄下執(zhí)行 ## 構(gòu)建靜態(tài)庫 > gn gen out/Static ## 構(gòu)建動態(tài)庫 ## 因為Windows平臺的編譯器在導出動態(tài)庫的時候會檢查方法定義的通用性 ## 所以編譯過程中會報出 C4251 和 C4275 的警告, 只是警告而已, 所以我們在此處加上 extra_cflags=[\"/wd4251\",\"/wd4275\"] 參數(shù)來忽略此警告 > gn gen out/Shared --args="is_component_build=true extra_cflags=[\"/wd4251\",\"/wd4275\"]" ## 構(gòu)建Debug版本 > gn gen out/Debug ## 構(gòu)建Release版本 > gn gen out/Release --args="is_debug=false" ## 直接構(gòu)建VisualStudio的.sln文件 > gn gen out/sln --ide=vs(3)配置skia/gn/BUILD.gn文件
打開skia/gn/BUILD.gn文件*,
找到# Treat warnings as errors.,將前面的"/WX"改成"/W3"
這樣警告就不視為錯誤。
開始編譯:
## 編譯靜態(tài)庫 > ninja -C out/Static ## 編譯動態(tài)庫 > ninja -C out/Shared ## 編譯Debug版本 > ninja -C out/Debug ## 編譯Release版本 > ninja -C out/Release總結(jié)
以上是生活随笔為你收集整理的windows下编译skia库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 技术成熟度/制造成熟度/产品成熟度
- 下一篇: rtthread工业使用_rtthrea