chrome 内核CEF 编译和qt 封装(上)
? 前言:
? ? ? ? ?針對PC 客戶端軟件而言,在實際開發中如圖表等復雜控件如果純用c++ 開發難度很大,而且效果也不是很美好,雖然也有一些專門開源圖表庫可以使用,但項目中軟件開發都是C/S 和 B/S 結構,兩者各有其優勢。B/S結構需要 瀏覽器作為前端頁面交互入口。C/S 結構需要客戶端作為交互入口,是否有相關技術能結合兩者優勢開發,通過盡可能的一套代碼能解決兩端多數業務問題呢,CEF 或者其他瀏覽器內核的出現就解決此問題。
一、基礎概念
Chromium Embedded Framework (CEF)是個基于Google Chromium項目的開源Web browser控件,支持Windows, Linux, Mac平臺。除了提供C/C++接口外,也有其他語言的移植版。過多概念不展開,可百度。
二、CEF 編譯
? ? 1、準備成果物
直接下載二進制成果物進行相關庫的編譯,連接:?
https://cef-builds.spotifycdn.com/index.html#windows64
從下圖可以找到自己需要版本進行下載:
2、 準備代碼編譯工具 cmaKe 、 vs 2019
? ?cmake 下載官網:?https://cmake.org/
? ?vs 下載官網:?https://visualstudio.microsoft.com/zh-hans/
3、? 開始編譯
(1)下載完的zip 包通過cmake 檢出代碼。
?
?
1和?2? 步驟后就產生如下工程
?重點是libcef_dll_wrapper? 此庫。 編譯成功后會產生?libcef_dll_wrapper.lib 和?libcef_dll_wrapper.pdb? 兩個文件。
?
可以通過cefsimple 例子實現編譯的成果物,例如加載百度和自己設計頁面,如下:
?自己通過echars 制作的頁面
?基本上所需要的的內容如下
??
?三、 qt 封裝 cef 庫
? ? 但在實際項目開發過程中 cef 初始化內容比較多,開發流程比較復雜不利于項目開發。因此需要對庫進行再次封裝,統一初始化流程和相關接口。封裝流程和原理下文再分享!
相關類的介紹可查看: 也可通過源代碼頭文件的英文注釋了解
https://www.cnblogs.com/bclshuai/p/12722607.html
總結
以上是生活随笔為你收集整理的chrome 内核CEF 编译和qt 封装(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ajax 如何使 dropdownlis
- 下一篇: java 复杂 sql_复杂的SQL条件