尝试编译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

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


 

最近的回复

  • 随后在git for windows这个软件中输入

    git clone git@git.coding.net:jiangcaiyang1/qtdreamrelease_windows.git

    就可以获得一个空的项目了。其它的项目也是同样的操作方法。然后呢,将此作为自动构建的代码库吧。
    此次介绍就是这样~😘 😘 🐧

    阅读更多
  • 0_1540027445466_很好.jpg
    萌梦安装包的分发始终是一个难题。要有一个稳定并且有效的方法进行分包,才能让大家都能够享受到萌梦动作编辑器的最新功能。我们目前有两种分发的方法:

    离线安装包。通常的位置是
    1.1 百度云盘
    1.2 QQ群文件
    1.3 github
    其中百度云盘和QQ群文件不会定期地更新,只有github的文件会定期更新。因为构建脚本要求每次有更改,都让github的文件更新。

    在线安装包。通常的位置是
    2.1 百度云盘
    2.2 QQ群文件
    2.3 github
    这里在线安装包的代码库主要还是在github中,在线安装包非常依赖CDN加速。目前github这块儿在国内做得不太好,还是希望在国内找一个类似的加速。目前可以选的只有两家:

    码云

    coding

    因为以前做过coding的加速,目前coding已经和腾讯云战略合作,所有的代码都要迁移到腾讯云了。而且对于代码库的空间要求变高了。128M。目前我的一个账号显然满足不了要求。所以有必要再注册一个账号。

    下面记录一下新建coding代码库的方法,并且尝试将萌梦安装包的线上代码库部分移动到coding代码库中。

    注册

    到这个位置注册。

    https://coding.net/register

    相信很快就会带你跳转到腾讯云中。不过这里我选择的是邮箱的方式,因为我希望注册尽量多的账号。

    设置ssh密钥

    进入控制台后,是这样的:
    0_1540028446495_2eeb7e93-c15b-4c82-9b36-58e1c304ea3f-image.png
    这个时候,我们要先创建项目,然后ssh的公钥。
    0_1540028822318_b3e81b93-099c-42d5-820d-deaf8d445913-image.png

    创建以后,开始部署公钥。在这里:
    0_1540028925337_d8059b64-8535-45e5-ba4c-d7454505aa5a-image.png
    这期间最好用OpenSSL生成SSH密钥。
    我使用的是git for windows来生成密钥的。方法是

    ssh-keygen

    如果你生成好了密钥,可以直接打开密钥内容看看:

    cat ~/.ssh/id_rsa.pub

    然后粘贴到网站的文本框中。

    添加好了之后,勾选“准许推送权限”,需要推送代码到代码库中。

    阅读更多

关注我们

微博
QQ群











召唤伊斯特瓦尔