VS2017+Qt5.14.2编译cef

本文详细介绍了如何在VS2017环境下,配合Qt5.14.2编译CEF(Chromium Embedded Framework)库。从下载CEF和CMake工具开始,通过配置CMake生成.sln文件,解决编译过程中遇到的问题,最终成功编译运行cefsimple,并指导如何在Qt Creator中生成适合嵌入CEF的动态链接库文件。

编译好的包,可以直接用的:cef_binary_89.0.18+gb36241d+chromium-89.0.4389.114_windows32包-C++文档类资源-优快云下载

1.下载cef包。

cef的下载网址: “cef-builds.spotifycdn.com/index.html” (可以在输入框输入你要查找的版本号进行查找。)

点击链接下载到本地并解压。

这里选择的是windows32位的 cef_binary_89.0.18+gb36241d+chromium-89.0.4389.114_windows32.tar.bz2。
下载cef包时要注意编译环境是否支持。
cef 版本对应编译环境详细信息可以查看此链接:“blog.youkuaiyun.com/evesmith520…

2.下载并安装CMake工具。

CMake下载地址:“cmake.org/download/”

这里下载的是:

3.生成cef的.sln工程文件。

  • 打开安装好的CMake工具。
  • 选择加压好的cef文件夹目录。
  • 选择生成目录。(在cef文件夹下创建一个build文件夹,如果没有自己创建,CMake会按照路径自动进行创建)

  • 点击Configure。弹出配置窗口进行选项配置。

选择自己需要使用的VS的版本,系统的位数等信息。我这里用的是VS2017,生成32位的工程。选择好后点击Finish。

如果遇到Configure报红:

改为:

注意:这里的CMAKE_INSTALL_PREFIX的Value值最好选择不是C:盘的路径,可以带中文。因为如果是C:盘,则启动VS时可能需要选择管理员方式打开。

再次点击Configure:

  • 点击Generate。 这时打印信息最后显示 Configuring done 和 Generate done 就表示成功了。
  • 查看生成的工程文件。 在我们创建的build文件夹下会生成cef.sln等文件。

至此,cef源码生成完成。

4.VS打开cef工程进行全部编译。

注意: 为了避免cef工程编译失败,一定要在CMake阶段注意选择的VS的版本和系统位数的信息是否正确,如果不正确,那么这一步会导致失败。VS2017+Qt5.14.2的运行环境的配置可以在我之前的文章中找到,这里直接进行编译工作。

  • 打开cef.sln工程。

  • 点击选中ALL_BUILD,右键选择生成。

此时会编译失败。需要全局搜索"か",将CefString markedText("か")替换为CefString markedText(demo");

  • 再次选中ALL_BUILD,右键选择清理,然后选择重新生成。

这时工程编译成功。

  • 运行cefsimple查看运行结果。

需要将simple_app.cc文件中的代码 “www.google.com” 替换为 “www.baidu.com”

至此,cef工程编译完成。以上实现了cef库的编译运行,主要是为了生成我们嵌入cef模块时所需要的libcef_dll_wrapper.lib文件。
如果实在Qt Creator上创建的项目想要嵌入cef模块,那么还需要一个步骤。

  • 生成动态链接库文件。

上面编译生成了libcef_dll_wrapper.lib静态库,默认使用的是MTd的链接方式,而Qt中常使用的是动态链接(即MDd),所以需要使用MDd的方式重新编译libcef_dll_wrapper.lib。

右键项目libcef_dll_wrapper->属性->C/C++->代码生成->运行库:改为“多线程调试 DLL (/MDd)”(如果是release版,则改为“多线程 DLL (/MD)”)。然后重新生成就可以了。

注意: Qt Creator创建的嵌入cef功能的项目,debug运行加载的页面是空白的(有问题),所以只能创建release版本。
所以这一步如果是VS创建的项目,则生成debug和release的lib库都可以。
如果项目是Qt Creator创建的,只能生成release版本的lib库才可以。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑兔子JH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值