CEF二进制下载链接:
Chromium Embedded Framework (CEF) Automated Builds
目前是用vs2017编译x64的包给Qt用(windows上用mingw需要自己改源码,github上有个成功的例子)
编译过程:
下载页面:http://opensource.spotify.com/cefbuilds/index.html#windows64_builds
下载链接:
Standard DistributionStandard cef_binary_75.0.1+gb5e74dd+chromium-75.0.3770.80_windows64.tar.bz
编译过程:
1.解压,建build文件夹
2.CMake编译出vs工程
其中source code路径就选择你加压的那个目录,build the binaries目录选择刚才新建的build目录。
选择vs2017 ,x64,我们这里是编译64位版本的cef
点击Finish
3./MT改成/MD,因为Qt的动态库版本,所以这样要对应上(如果是你自己编译的静态库版本的Qt则另当别论)
会看到:
4.在vs工程中编译
先做一件小小的修改:
在 文件夹cef_binary_80.1.15+g7b802c9+chromium-80.0.3987.163_windows64\tests\cefsimple目录中:simple_app.cc第89行
下载的源码中这里是http://www.google.com,导致打开cefsimple.exe时界面没有任何内容,改成如图所示的内容,则会很快出现百度的页面。
先编译出libcef_dll_wrapper,再编译cefsimple和cefclient
看到libcef_dll_wrapper.lib编译好了,就可以编译自带的例子了。
5.运行自带的demo
这些demo也编译和运行成功了,那么可以把这个库和相应的dll用到Qt vs版本的工程中去了
另外一些坑:
经过测试:
06/12/2019 - CEF 75.0.3+g699a922+chromium-75.0.3770.80 / Chromium 75.0.3770.80
到
07/24/2020 - CEF 84.3.7+g97011bc+chromium-84.0.4147.89 / Chromium 84.0.4147.89
这些库,在编译的时候,/MT不会报错,在编译cefsimple和 cefclient的时候,都会报(即使在CMake中将/MT改成/MD也一样会报错,我在Debug版中/MDd,release版本中全是/MD也一样报错),最后发现换其他版本的cef二进制库可以解决这个问题。
error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”
参考:
Chromium Embedded Framework (CEF) Automated Builds
Cef 的wiki参考网站
CEF避坑指南(一)——编译并自制浏览器