Skia Windows 编译
Skia Windows 編譯
編譯環境:win10 64位、VS2017、git、LLVM
一、下載Skia相關源碼
1、 下載google工具depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git設置環境變量:
set path=當前目錄/depot_tools;%path%2、下載Skia源碼
git clone https://skia.googlesource.com/skia.git系統必須安裝了python2,才能進行下一步
cd skia python tools/git-sync-deps二、編譯
配置編譯編譯選項
配置編譯為靜態庫
bin\gn gen out/Static --args="is_debug=false is_official_build=true skia_use_system_expat=false skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false"配置編譯為動態庫
bin\gn gen out/Shared --args="is_debug=false is_official_build=true is_component_build=true skia_use_system_expat=false skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false"Debug/Release 配置選項生成(可選)
注意:debug和Release版本配置完成后還要手動將out\Debug\obj和out\Release\obj目錄下以.ninja結尾的文件中”cflags=“ 那一行中的 “/WX” 改為"/WX-" 才能夠編譯成功
配置編譯為Debug使用(開發環境使用)
配置編譯為Release使用(開發環境使用)
bin\gn gen out/Release --args="is_debug=false skia_use_system_expat=false skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false"查看編譯參數
bin\gn args out/Debug --list3、編譯
ninja -C out/Static //編譯靜態庫 ninja -C out/Shared //編譯動態庫 ninja -C out/Debug //編譯Debug使用 ninja -C out/Release //編譯Release使用三、產物
include 頭文件目錄
out/Static 靜態庫目錄
out/Shared 動態庫目錄
out/Debug Debug使用
out/Release Release使用
編譯32位
靜態庫配置
bin\gn gen out/Static_x86 --args="clang_win=\"C:\Program Files\LLVM\" target_cpu=\"x86\" is_debug=false is_official_build=true skia_use_system_expat=false skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false"靜態庫編譯
ninja -C out/Static_x86動態庫配置
bin\gn gen out/Shared_x86 --args="clang_win=\"C:\Program Files\LLVM\" target_cpu=\"x86\" is_debug=false is_official_build=true is_component_build=true skia_use_system_expat=false skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false"動態庫編譯
ninja -C out/Shared_x86其中clang_win=“C:\Program Files\LLVM” 指定了編譯使用llvm ,windows下編譯google推薦的方式。
編譯32位問題
'C:/Program' 不是內部或外部命令,也不是可運行的程序 或批處理文件。 LINK : fatal error LNK1171: 無法加載 mspdbcore.dll (錯誤代碼: 126) [893/966] compile ../../third_party/externals/libpng/pngwrite.c ninja: build stopped: subcommand failed.1、打開Static_x86下的toolchain.ninja文件,刪除所有類似于“cmd /c C:/Program Files (x86)/Windows Kits/10/bin/SetEnv.cmd /x86 && ”的內容,保存。
2、然后將“C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.15.26726/bin/HostX64/x64”文件夾中的“mspdbcore.dll”、“mspdb140.dll”、“msobj140.dll”三個文件復制到“Static_x86”文件夾中。
結束
參考鏈接:
- How to download Skia
- How to build Skia
- how to compile skia on windows
總結
以上是生活随笔為你收集整理的Skia Windows 编译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件调试方法--小黄鸭调试法
- 下一篇: 订单失效怎么做的_数据库压力降低90%,