Windows環境VS2017編譯skia庫,親測成功,m84官方編譯的方法

環境準備

  • Windows7/10電腦須要能訪問https://skia.org/https://skia.googlesource.com/skia.git
  • 在Windows上安裝Visual Studio 2017
  • 在Windows上安裝Python v2.7.x(必須是v2系列),32位版本,例如python-2.7.18.msi。環境變量path須要添加python2。
  • 在Windows終端輸入命令"python --version"能夠查看python2是否正確安裝。
  • 在Windows上安裝Git工具

 

 

下載源碼和依賴庫

截止目前,skia的版本是m84,https://skia.googlesource.com/skia.git/+refspython

咱們使用Windows終端命令行,把源碼下載:git

>git clone https://skia.googlesource.com/skia.git
>cd skia
>python tools/git-sync-deps

ide

 

 

下載gn和ninja工具

網上有好心人已經準備好了,直接解壓就好了。解壓到bin裏面。環境變量path須要添加bin路徑,例如個人路徑是:工具

F:\tmp-source\qt-hmi\skia\skia\binui

https://download.csdn.net/download/qq_35824650/12398406google

 

 

源碼編譯

  • 參數說明

is_debug=true 表示Debugspa

is_component_build=true 表示動態庫編譯.net

target_cpu="x86" 表示Win32平臺命令行

 --ide=vs 表示使用VS IDE編譯 【不推薦,容易出錯】debug

 

 

  • x64位 Debug編譯:

>bin\gn gen out\Debug64
>bin\gn args out\Debug64

#這句話輸入以後,會彈出一個記事本文件,請輸入編譯的參數

# Set build arguments here. See `gn help buildargs`.
is_debug=true
is_component_build=true
>bin\gn gen out\Debug64
>bin\ninja -C out\Debug64



 

  • x64位 Release編譯:

>bin\gn gen out\Release64
>bin\gn args out\Release64
# Set build arguments here. See `gn help buildargs`.
is_debug=false
is_component_build=true
>bin\gn gen out\Release64
>bin\ninja -C out\Release64





 

  • x86位 Debug編譯:

>bin\gn gen out\Debug86
>bin\gn args out\Debug86
# Set build arguments here. See `gn help buildargs`.
is_debug=true
is_component_build=true
target_cpu="x86"
>bin\gn gen out\Debug86





#執行ninja以前,須要先打開路徑\skia\out\Debug86的toolchain.ninja文件,手動刪除全部

"cmd /c C:/Program Files (x86)/Windows Kits/10/bin/SetEnv.cmd /x86 &&"的文本內容,

#進入文件夾C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64

拷貝如下3個文件到\skia\out\Debug86

msobj140.dll
mspdb140.dll
mspdbcore.dll
>bin\ninja -C out\Debug86


 

  • x86位 Release編譯:

>bin\gn gen out\Release86
>bin\gn args out\Release86
# Set build arguments here. See `gn help buildargs`.
is_debug=false
is_component_build=true
target_cpu="x86"
>bin\gn gen out\Release86





#執行ninja以前,須要先打開路徑\skia\out\Release86的toolchain.ninja文件,手動刪除全部

"cmd /c C:/Program Files (x86)/Windows Kits/10/bin/SetEnv.cmd /x86 &&"的文本內容,

#進入文件夾C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64

拷貝如下3個文件到\skia\out\Release86

msobj140.dll
mspdb140.dll
mspdbcore.dll

>bin\ninja -C out\Release86

 

 

經常使用的gn命令

bin\gn help args
bin\gn help static_library
bin\gn help buildargs
bin\gn args --list out\Release64
bin\gn args --list out\Debug64
bin\gn args --list out\Release86
bin\gn args --list out\Debug86

 

 

參考文獻

https://www.jianshu.com/p/4225f4342d18

https://blog.drawoceans.com/codes/19/

https://blog.csdn.net/qq_35824650/article/details/105984644

相關文章
相關標籤/搜索