尝试编译QCefView来将浏览器嵌入到应用程序中



  • 以前我曾经看到过一些软件可以将浏览器嵌入进来,那时我就感到很神奇。现在技术层出不穷,浏览器web技术的发展,让很多产品可以通过浏览器的形式来呈现,所以浏览器结合原生框架制作的软件变得流行起来。

    Qt 除了WebKit、WebEngine外,其实还可以直接整合第三方CEF来实现对于浏览器的整合。我这一天打算尝试一下,因为这不是Qt维护的解决方案,所以效果不能和WebEngine以及WebKit相比。但是也提供了一个解决方案吧。

    Qt直接和CEF结合参见一个第三方开发者的库:QtCefView,它的项目地址是:https://tishion.github.io/QCefView/
    作者提供了一个较为简单的英文介绍。我们这篇博客有一部分就是对原有介绍的翻译。

    要构建QCefView,有这几步:

    1、下载CEF项目

    CEF项目的地址是:http://opensource.spotify.com/cefbuilds/index.html
    选择适合自己的平台进行构建,我们呢,下载的是cef_binary_3.3359.1772.gd1df190_windows32_minimal这个安装包,也就是在Windows下进行构建的。
    0_1526555374575_a9ad5d3d-f6d0-448d-97e7-5ac56f25871f-image.png

    2、解压

    将CEF项目的压缩包解压出来,放在一个目录下,我放在的目录是D:\SDK\cef_binary_3.3359.1772.gd1df190_windows32_minimal。然后可能需要安装cmake。参见cmake的安装方法本站有很多篇文章,这里选取几篇比较重要的吧:
    https://qtdream.com/topic/436 CMake编译+Mingw32安装+QT使用
    或者可以从这个位置下载cmake:https://cmake.org/download/
    0_1526555428553_a9e79186-8049-4804-99aa-cc1c2bb1aa57-image.png

    选择最新的版本即可。同样等待系统安装cmake到合适的位置即可。

    3、cmake生成CEF的的sln文件

    因为CEF目前适合MSVC编译器,所以用cmake生成的时候,最好前提安装了较新版本的Visual Studio。推荐Visual Studio 2015。我这里呢,由于已经安装了Visual Studio 2013,没办法,只能这么用了。打开cmake-gui,在我的系统中的位置是C:\Program Files\CMake\bin\cmake-gui.exe。双击进入,然后configure、generate以及open project。很快就生成sln文件了。使用open project命令可以使用Visual Studio打开sln文件进行后续的编辑。
    0_1526555527262_8a4e205c-b4ef-483a-a1b0-391e634f0d7d-image.png

    4、构建CEF
    打开Visual Studio后,开始构建CEF。注意生成应用的方式是/MD还是/MT。因为这会和我们编译的库文件不匹配。配置的内容是:
    0_1526556742292_77d8cf0d-0133-410d-960f-b0eab2788feb-image.png
    0_1526556818459_c52dde05-6a2e-4f45-976f-59bd0144902f-image.png
    除了这些,还需要安装Qt for Visual Studio Add-in,下载地址是:http://download.qt.io/official_releases/vsaddin/

    最后编译,成功。
    0_1526558519856_770bd296-335d-4512-bf65-80e3ad4153c3-image.png

    不过想运行一个程序,遇到报错~
    0_1526558642524_1f55d10b-7298-423d-a7c7-5dd06cf4b2bb-image.png

    难道这篇文章又会变成“从新手到放弃”系列吗?


 

走马观花

最近的回复

关注我们

微博
QQ群











召唤伊斯特瓦尔