天天看點

Windows環境VS2017編譯skia庫,親測成功,借助skui的方法

Skia簡介

Skia是一個開源的二維圖形庫,提供各種常用的API,并可在多種軟硬體平台上運作。谷歌Chrome浏覽器、Chrome OS、Fuchsia、安卓、Flutter、火狐浏覽器、火狐作業系統以及其它許多産品都使用它作為圖形引擎。Skia由谷歌出資管理,任何人都可基于BSD免費軟體許可證使用Skia。Skia開發團隊緻力于開發其核心部分, 并廣泛采納各方對于Skia的開源貢獻。

源代碼: skia.googlesource.com/skia

提議: bug.skia.org

論壇: [email protected]

skia官網:

https://skia.org

谷歌github鏡像:

https://github.com/google/skia

Skui簡介

本人親測,采用Google官方提供的編譯方式很難成功。

偶然發現了skui這個開源項目。skui使用了skia庫。

Skia-based C++ UI framework

https://github.com/skui-org/skui https://blog.csdn.net/czhzasui/article/details/103457105

因為編譯skui的過程,會編譯skia庫,殊途同歸,最終可以得到我想要的skia庫。

Skui編譯

下面描述編譯過程:

1、我的編譯環境:Win7 x64,VS2017

2、源碼下載下傳,注意Windows和Linux指令行的\和/的差別。

從github上克隆倉庫

git clone

https://github.com/skui-org/skui.git

進入倉庫

cd skui

更新子子產品倉庫

git submodule update --init --recursive

如果網絡不好,可能會在拉取skia的時候卡住,這時候進入3rdparty目錄再次拉取

cd 3rdparty

cd ..

這樣就拉取了skui所有源碼。

如果實在還是拉取不成,那就直接點選github相關的連結,進入後,手動下載下傳。

Windows環境VS2017編譯skia庫,親測成功,借助skui的方法

點選進入“3rdparty”目錄,

Windows環境VS2017編譯skia庫,親測成功,借助skui的方法

進入頁面,使用頁面預設的版本,下載下傳skia源碼

Windows環境VS2017編譯skia庫,親測成功,借助skui的方法

3、源碼準備好,就可以編譯

mkdir ..\skui-build

cd ..\skui-build

接下來,可以選擇MSVC編譯,也可以選擇Ninja編譯

cmake ..\skui -G "Visual Studio 15 2017 Win64"

或者 cmake ..\skui -G Ninja

cmake --build .

筆者注:如果是使用MSVC編譯,個人建議還是使用cmake-gui.exe可視化的方式代替指令行。

MSVC編譯,請選擇Windows SDK v10.x版本,千萬不要選v8.1版本,否則編譯skia庫會失敗。

另外,cmake工程選項,使用預設值,不做任何修改。skia是靜态庫編譯,MDd/MD的運作時庫。

Windows環境VS2017編譯skia庫,親測成功,借助skui的方法

4、運作一下例程,是個很小的彈出視窗。

F:\tmp-source\qt-hmi\skia\skui-build>examples\widget_gallery\debug\widget_gallery.exe

Windows環境VS2017編譯skia庫,親測成功,借助skui的方法

5、關于widget_gallery.exe運作報異常的問題,我送出了issues

https://github.com/skui-org/skui/issues/12

If you want to play around with the code as is, you can change gui/window_windows.c++:L29 to this:

const window_flags window::default_flags = window_flag::exit_on_close | window_flag::anti_alias;

---

https://ninja-build.org/ https://github.com/ninja-build/ninja https://blog.csdn.net/qq_20373723/article/details/84061647

windows 安裝ninja

繼續閱讀