qt集成cef在windows和mac下编译

cef下载

cef:下载地址  CEF Automated Builds

选择了87版本+32位,打不开的可以去百度网盘下载:

链接:https://pan.baidu.com/s/1L6Y-_lBpwaeeXIxGEwrYvw 
提取码:6f5b

cmake生成vs工程文件

设置源码路径:

D:/demo/cef+qtdemo/cef_binary_87.1.14+ga29e9a3+chromium-87.0.4280.141_windows32

设置编译结果路径:

D:/demo/cef+qtdemo/cef_binary_87.1.14+ga29e9a3+chromium-87.0.4280.141_windows32/build

点击configure:

点击yes:

使用的是vs2017 community版本,因此选择

点击finish。点击configure,和generate后,出现 下图

生成的vs工程目录

vs2017 community编译cef

直接双击cef.sln打开工程,然后选择“生成解决方案”,开始编译。

报错:

一:
将所有出现的CefString markedText(“か”);修改为:
CefString markedText(demo");

二:

将所有项目的:项目–>属性–>生成事件–>后期生成事件–>在生成中使用–>否

编译成功:

运行cefsimple.exe,路径

注意:要编译relese版本,debug版本默认没有需要的dll文件,无法运行cefsimple.exe

效果:

如果不能打开该网页的,将下图的:

换成www.baidu.com。

注意:

在生成cefclient.exe时,发现release win32下没有生成cefclient.pdb 导致无法调试;因此将:

 修改成:生成调试信息;然后编译,发现报错:

 解决:将build目录内容删除,用cmake重新生成过程,过程中注意:

CMake-GUI中重新配置,勾掉USE_ATL和USE_SANDBOX后重新打开cef.sln,顺利编译成功

然后就发现:

 

cefclient.pdb顺利生成 

mac:

下载后解压,进入文件夹,执行

cmake -S . -B build -G Xcode

结果:

进入build目录执行,打开cef.xcodeproj,编译

运行:cefsimple

 需要的库文件已经生成完毕 在release文件夹下的:Chromium Embedded Framework.framework
libcef_dll_wrapper 文件夹下的 libcef_dll_wrapper.a

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
下面是在 Qt 窗口嵌入 CEF 窗口的基本步骤: 1. 在 Qt 项目中添加 CEF 的库文件和头文件: 在 Qt 项目中添加 CEF 的库文件和头文件,以便在 Qt 中使用 CEF 控件。 2. 创建 CEF 控件: 在 Qt 窗口中创建 CEF 控件,可以使用 CEF 提供的 API 创建控件,例如: ```cpp CefRefPtr<CefBrowser> browser = CreateBrowser(hwnd, url); ``` 其中,hwnd 是 Qt 窗口的句柄,url 是要加载的 Web 页面的地址。 3. 将 CEF 控件的窗口嵌入Qt 窗口中: 使用 Qt 提供的 API 将 CEF 控件的窗口嵌入Qt 窗口中,例如: ```cpp CefWindowHandle hwnd = browser->GetHost()->GetWindowHandle(); QWindow *window = QWindow::fromWinId((WId)hwnd); QWidget *widget = QWidget::createWindowContainer(window); ``` 其中,browser 是创建的 CEF 控件,hwnd 是 CEF 控件的窗口句柄,window 是 Qt 窗口对象,widget 是包含 CEF 控件窗口的 Qt 控件。 4. 将 Qt 控件添加到 Qt 窗口中: 在 Qt 窗口中添加包含 CEF 控件窗口的 Qt 控件,例如: ```cpp QVBoxLayout *layout = new QVBoxLayout(ui->centralWidget); layout->addWidget(widget); ``` 其中,ui->centralWidget 是 Qt 窗口的中心控件,layout 是 Qt 窗口的布局管理器。 这样,CEF 控件就可以嵌入Qt 窗口中了。 注意事项: 在将 CEF 控件嵌入Qt 窗口中时,需要注意以下几点: 1. Qt 窗口和 CEF 控件窗口之间的大小和位置关系需要正确设置,以保证 CEF 控件窗口完全嵌入Qt 窗口中。 2. 在使用 CEF 控件时,需要遵循 CEF 的许可协议。 3. 在使用 Qt 控件时,需要遵循 Qt 的许可协议。 4. 在将 CEF 控件嵌入Qt 窗口中时,需要注意相关的技术和代码的兼容性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值