浅谈Qt中使用CEF的几个要点(Windows下)

 更新时间:2017年07月21日 08:41:55   投稿:jingxian  
下面小编就为大家带来一篇浅谈Qt中使用CEF的几个要点(Windows下)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

最近项目中要在Qt中使用CEF(Chromium Embedded Framework),在这里总结下其中的几个要点。

下载合适的CEF版本

关于CEF的简介我们这里就不做介绍了,下载CEF可以有2种选择:

1、源码:强烈不建议下载源代码并编译构建(学习代码除外),下载源码需要你FQ、有良好的网速(要下载)和足够的耐心(据说有4、5个G,真的要下半天)。

2、自动构建版本:推荐这个使用这个版本。该版本提供了大部分已经编译完成的动态库及资源,只需要开发者手动编译一个wrapper静态库就可以了。这种版本分为当前发行分支(Current Release Branches)和遗留发行分支(Legacy Release Branches ),每个分支都有其编译要求,最低支持WinXp。

使用CMake和VS编译wrapper静态库

调用CMake来生成一个对应的VS工程,然后用VS打开并编译,这是windows下最方便的方法(配置CMake来编译的方法比较麻烦,不推荐)。以下是具体步骤:

安装VS和CMake(32位)

下载并提取自动构建版本的CEF压缩包。

打开VS的开发者命令提示行,cd到解压后的根目录中(包含README.txt的目录)。

运行命令cmake -G "Visual Studio 14"(14对应VS2015,12对应VS2013),该命令会在根目录下生成cef.sln文件。

双击cef.sln,用VS打开该项目。

确保自己的Qt和CEF版本一致

运行库版本一致。使用CEF库时要保证整个程序的运行库链接版本是一致的,也就是说Qt静态库和CEF库必须用同一个运行库选项编译。但这里至关重要的一点就是CEF(自动构建版本)库的libcef.dll等动态库都是用/MT选项预编译好的(至少我试过的好几个CEF自动构建版本都是开启/MT编译的),我们只能更改Qt库的版本,可以考虑替换这些冲突的版本,重新编译或下载对应版本都是不错的选择。

Debug/Release模式一致。否则的话,会出现_ITERATOR_DEBUG_LEVEL等一系列错误。

WinXp支持

只有比较老的CEF分支版本支持WinXp系统,而自动构建版本只支持Win7及以上,因此除了从源码编译外,你是没有办法从官方获取CEF的WinXp支持的。嗯,然后源码编译也不现实,只能向别人要了。

文档支持

CEF的文档不是与QT一个级别的,因此不要指望能很快上手,写代码前你最好把API以外的文档全看一遍。

以上这篇浅谈Qt中使用CEF的几个要点(Windows下)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C++中的自增与自减

    C++中的自增与自减

    这篇文章主要介绍了C++中的自增与自减,自增与自减是C++当中两个使用频率非常高的运算符,不仅在循环当中用到,在日常的代码当中也经常使用,下面来看看文章得具体介绍
    2021-11-11
  • 进程间通信之深入消息队列的详解

    进程间通信之深入消息队列的详解

    本篇文章是对消息队列的应用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++中智能指针unique_ptr的实现详解

    C++中智能指针unique_ptr的实现详解

    智能指针本质上并不神秘,其实就是 RAII 资源管理功能的自然展现而已,这篇文章主要为大家详细介绍了如何实现 C++中智能指针的 unique_ptr,需要的可以了解下
    2024-01-01
  • C语言指针详解之野指针

    C语言指针详解之野指针

    这篇文章主要为大家介绍了C语言野指针,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • C语言详细讲解常用字符串处理函数

    C语言详细讲解常用字符串处理函数

    在日常编程中,对于字符串的操作中我们都很习惯的使用一些C库中自带的函数,并且关于字符串的操作函数基本都在 string.h 这个头文件中。关于C库字符串常用处理函数也是平时面试或者考试过程中非常喜欢考的,本文将带大家手动来实现这些常用函数
    2022-05-05
  • C语言实现BMP图像细化处理

    C语言实现BMP图像细化处理

    这篇文章主要为大家详细介绍了C语言实现BMP图像细化处理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • c++10进制转换为任意2-16进制数字的实例

    c++10进制转换为任意2-16进制数字的实例

    下面小编就为大家带来一篇c++10进制转换为任意2-16进制数字的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 用VC++6.0的控制台实现2048小游戏的程序

    用VC++6.0的控制台实现2048小游戏的程序

    本文是作者拜读刘地同学的《C语言控制台版2048》之后感觉非常不错,添加了注释之后分享给大家的,方便更多的初学者阅读学习,有需要的小伙伴参考下。
    2015-03-03
  • C语言扫雷游戏的实现

    C语言扫雷游戏的实现

    这篇文章主要为大家详细介绍了C语言扫雷游戏的实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • C/C++格式化日志库实现代码

    C/C++格式化日志库实现代码

    这篇文章主要介绍了C/C++格式化日志库实现代码,需要的朋友可以参考下
    2019-04-04

最新评论