windows编译skia的注意事项
1. skia的整個編譯流程,官網說明已經很清楚了(https://skia.org/user/download,https://skia.org/user/build)。
2. 使用vs編譯器編譯的命令如下:
bin\gn gen out/Static --args="win_sdk = \"E:\Windows Kits\10\" win_vc=\"E:\Program\Microsoft Visual Studio\2019\Community\VC\" is_debug=false"
ninja -C out/Static
說明下win_sdk和win_vc這兩參數,是在vs安裝的時候沒有選擇默認路徑時,必須要指定一下,沒必要去改原始文件里的配置。
3. 生成vs工程命令如下:
bin\gn gen out/Static --args="win_sdk = \"E:\Windows Kits\10\" win_vc=\"E:\Program\Microsoft Visual Studio\2019\Community\VC\" is_debug=false" --ide=vs
然后打開all.sln,使用vs進行編譯,不要生成整個解決方案,直接找一個項目比如skia或者helloworld進行生成,需要的話一個一個手動生成。其實這種方式沒啥必要,因為生成的vs工程也不是vs原生的,只不過是給ninja套了層皮而已,結果跟上一種一樣的。
4. 比較新的版本可以通過llvm的clang來編譯,使用m88版本發現可以,之前用m72的時候還沒這選項,命令如下:
bin\gn gen out/llvmStatic --args="win_sdk = \"E:\Windows Kits\10\" clang_win=\"E:\Program\LLVM\" is_debug=false"
ninja -C out/llvmStatic
通過參數clang_win指定llvm的安裝路徑。
官方推薦使用clang的方式,因為代碼只針對clang進行了優化。性能上有多少差距我不清楚,但是m88版本clang生成的skia.lib文件不到300M,而vs生成的是近700M。
5.?有一點要注意的是,根據官方說明,很可能會在--args里面添加ia_official_build=true,?千萬不要這么做。這樣的話只會生成skia本生的源碼,你還需要額外通過一些參數才能生成成功,得到一個幾十M的skia.lib。這也是windows開發和linux的一個習慣的差別,因為linux可以將各種依賴安裝在系統路徑,而windows則沒有,需要全部生成到lib中。
?
總結
以上是生活随笔為你收集整理的windows编译skia的注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电路分析第三章 一阶电路
- 下一篇: java信息管理系统总结_java实现科