Qt + CEF3 环境搭建
公司用qt开发的软件需要继承web功能,qt自带的webengine依赖OpenGL,会有莫名的问题发生,于是决定使用qt + cef来实现。
CEF,全称Chromium Embedded Framework(Chromium嵌入式框架),是google的开源项目,专注于促进第三方应用程序中的嵌入式浏览器。CEF 的一些用例包括:
在现有本机应用程序中嵌入符合 HTML5 的 Web 浏览器控件。
创建一个轻量级本机"shell"应用程序,该应用程序主要承载使用 Web 技术开发的用户界面。
在具有自己的自定义绘图框架的应用程序中呈现 Web 内容"屏幕外"。
充当主机,自动测试现有的 Web 属性和应用程序。
1、编译环境
windows10 + qt5.9.3 + VS2019 + cef windows-64
2、下载相关软件
cef:https://cef-builds.spotifycdn.com/index.html
这个网址用Chrome浏览器打开过很多次,一直都不能显示下载地址,以为网站有问题,但是看网络上的文章基本上都是介绍使用这个地址下载,觉得很疑惑,于是用windows 10自带浏览器Microsoft Edge打开,奇迹发生了,能看到下载地址了。
下载了cef_binary_86.0.21 g6a2c8e7 chromium-86.0.4240.183_windows64.tar.bz2版本
cmake:https://cmake.org/download/
官方网站下载速度奇慢无比,坑爹的是下载了一个多小时后,下载断开了,提示网络错误。
使用百度,下载了其他人共享的cmake-3.18.2-win64-x64.msi
3、编译
3.1、使用cmake生成vs工程文件
设置cef资源路径:F:\proj\cef_binary_86.0.21+g6a2c8e7+chromium-86.0.4240.183_windows64
设置cef生成的工程路径:F:\proj\cef_binary_86.0.21+g6a2c8e7+chromium-86.0.4240.183_windows64\build
配置好cef资源路径和工程路径以后,点下方的Configure按钮,会弹出一个窗口要配置编译器和编译版本
设置编译器版本为vs2019,编译版本选择x64(如果下载的cef包是32位版本的,此处需要选择win32),设置好后点Finish就开始进行配置,等配置完成后,下方提示Configuring done,继续点Generate,生成vs2019的工程文件,等Generating done之后,就可以关闭cmake了。
生成好的工程文件如下图所示:
3.2、vs2019编译cef
直接双击cef.sln打开工程,然后选择“生成解决方案”,开始编译。
ceftests会编译失败
将CefString markedText(“か”);修改为:
CefString markedText(demo");
另外,还需要将simple_app.cc中的www.google.com换成www.baidu.com,不然编译好的cefsimple打开后是一片空白。
4、查看编译效果
直接双击打开build\tests\cefsimple\Debug路径下的cefsimple.exe。
不知道是不是电脑的问题,编译好的cefsimple打开比较慢……