vs2017编译QCefView

vs2017编译QCefView的详细步骤

环境:win10,vs2017,qt5.14.2,cmake4.0.0

1.前言

QCefView依赖CefViewCore,CefViewCore依赖cef

QCefView源码地址:https://github.com/CefView/QCefView

CefViewCore源码地址:https://github.com/CefView/CefViewCore

查看cef各个版本需要的编译环境的地址:https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding.md

cef各个版本的下载地址:https://cef-builds.spotifycdn.com/index.html

2.添加环境变量

新建环境变量QTDIR,值为qt目录,例如D:\Qt\Qt5.14.2\5.14.2\msvc2017_64,可以用refreshenv或者重启电脑刷新环境变量

3.下载代码

cef91以上的不支持vs2017,故选择【91.0.4472.164】版本

https://cef-builds.spotifycdn.com/cef_binary_91.1.23%2Bg04c8d56%2Bchromium-91.0.4472.164_windows64_client.tar.bz2https://cef-builds.spotifycdn.com/cef_binary_91.1.23%2Bg04c8d56%2Bchromium-91.0.4472.164_windows64.tar.bz2https://cef-builds.spotifycdn.com/cef_binary_91.1.23%2Bg04c8d56%2Bchromium-91.0.4472.164_windows64_client.tar.bz2

QCefView选择QCefView-v1.0.7版本,https://codeload.github.com/CefView/QCefView/tar.gz/refs/tags/v1.0.7

CefViewCore选择20230219版本,https://codeload.github.com/CefView/CefViewCore/zip/04338332c5467d64f3a6a4f3062720d214448726

解压QCefView-1.0.7.tar.gz

解压CefViewCore-04338332c5467d64f3a6a4f3062720d214448726(20230219).zip,并将解压后文件夹改名为CefViewCore,覆盖QCefView-1.0.7内空CefViewCore文件夹

拷贝cef_binary_91.1.23+g04c8d56+chromium-91.0.4472.164_windows64.tar.bz2至QCefView-1.0.7\CefViewCore\dep目录

修改CefViewCore文件夹下的CefConfig.cmake文件,将原来CEF_SDK_VERSION指向的版本的注释掉,新增行91.1.23+g04c8d56+chromium-91.0.4472.164

4.编译

回到QCefView-1.0.7目录,在cmd里执行generate-win-x86_64.bat,生成.build目录及QCefView.sln文件

用vs2017打开QCefView.sln,遇到一些编译错误如下

1>------ 已启动生成: 项目: CefViewCore, 配置: Debug x64 ------
1>CefViewBrowserClient.cpp
1>D:\Users\Administrator\Downloads\cef3\QCefView-1.0.7\CefViewCore\src\CefView\CefBrowserApp\CefViewBrowserClient.cpp(60): error C2039: “tolower”: 不是“std”的成员
1>d:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\unordered_set(19): note: 参见“std”的声明
1>已完成生成项目“CefViewCore.vcxproj”的操作 - 失败。
2>------ 已启动生成: 项目: QCefView, 配置: Debug x64 ------
2>	Automatic MOC for target QCefView
2>mocs_compilation_Debug.cpp
2>QCefViewPrivate.cpp
2>D:\Users\Administrator\Downloads\cef3\QCefView-1.0.7\src\details\QCefViewPrivate.cpp(407): error C2039: “reset”: 不是“scoped_refptr<CefRunContextMenuCallback>”的成员
2>D:\Users\Administrator\Downloads\cef3\QCefView-1.0.7\CefViewCore\dep\cef_binary_91.1.23+g04c8d56+chromium-91.0.4472.164_windows64\include/base/cef_ref_counted.h(291): note: 参见“scoped_refptr<CefRunContextMenuCallback>”的声明
2>D:\Users\Administrator\Downloads\cef3\QCefView-1.0.7\src\details\QCefViewPrivate.cpp(422): error C2039: “reset”: 不是“scoped_refptr<CefRunContextMenuCallback>”的成员
2>D:\Users\Administrator\Downloads\cef3\QCefView-1.0.7\CefViewCore\dep\cef_binary_91.1.23+g04c8d56+chromium-91.0.4472.164_windows64\include/base/cef_ref_counted.h(291): note: 参见“scoped_refptr<CefRunContextMenuCallback>”的声明
2>D:\Users\Administrator\Downloads\cef3\QCefView-1.0.7\src\details\QCefViewPrivate.cpp(518): error C2039: “reset”: 不是“scoped_refptr<CefRunContextMenuCallback>”的成员
2>D:\Users\Administrator\Downloads\cef3\QCefView-1.0.7\CefViewCore\dep\cef_binary_91.1.23+g04c8d56+chromium-91.0.4472.164_windows64\include/base/cef_ref_counted.h(291): note: 参见“scoped_refptr<CefRunContextMenuCallback>”的声明
2>正在生成代码...

 解决方法如下:

  std::transform(
    lower_url.begin(), lower_url.end(), lower_url.begin(), [](unsigned char c) { return std::tolower(c); });
==>
  std::transform(
    lower_url.begin(), lower_url.end(), lower_url.begin(), [](unsigned char c) { return tolower(c); });

 osr.contextMenuCallback_.reset();
==>
 osr.contextMenuCallback_ = nullptr;

参考:https://www.cnblogs.com/IntelligencePointer/p/18443703

### 回答1: 要编译qcefview,您需要按照以下步骤进行操作: 1.首先,确保您的电脑上已经安装了编译qcefview所需的软件工具,包括C++编译器(如GCC或Visual Studio)和CMake构建工具。这些工具可以通过官方网站或其他途径下载和安装。 2.下载qcefview的源代码。您可以在qcefview的官方GitHub存储库中找到源代码的链接。将源代码解压缩到您选择的目录中。 3.打开命令行终端,进入源代码所在的目录。 4.创建一个新的目录用于构建输出。在命令行中输入以下命令: ``` mkdir build cd build ``` 5.使用CMake来生成构建脚本。在命令行中输入以下命令: ``` cmake .. ``` 6.运行CMake生成的构建脚本来编译qcefview。在命令行中输入以下命令: ``` cmake --build . ``` 7.等待编译过程完成。这可能需要一些时间,具体取决于您的计算机性能和工程规模。 8.编译完成后,在构建目录中将会生成可执行文件或库文件,您可以使用它们来运行或集成qcefview。 这些是编译qcefview的大致步骤。请注意,具体的步骤可能会因您的操作系统或特定的编译环境有所不同,所以请根据您的设置和需要进行相应的调整。此外,关闭防火墙或安全软件可能会有助于编译过程的顺利进行。 ### 回答2: qcefview 是一款用于嵌入式浏览器的开源软件库。编译 qcefview 的过程比较简单。首先,确保你的电脑已经安装了 Visual Studio 2019,并且正确配置了 CMake。 首先,下载 qcefview 的源代码。你可以在 GitHub 上找到该项目的代码仓库。将源代码解压到你选择的目录中。 接下来,创建一个新的目录作为编译输出目录。我们将在这个目录中生成构建文件和编译结果。 打开 Visual Studio 2019,选择“文件”菜单中的“打开”选项,并选择你解压的 qcefview 源代码目录。Visual Studio 会自动识别源代码,并生成一个 CMakeLists.txt 文件。 然后,点击“CMake”的工具栏按钮。在弹出的窗口中,选择你刚刚创建的编译输出目录,并点击“生成”按钮。Visual Studio 会开始生成构建文件。 生成过程可能需要一些时间,一旦完成,你将在编译输出目录看到生成的构建文件。 接下来,点击“本地 Windows 调试器”工具栏按钮,Visual Studio 将开始编译 qcefview 项目。这个过程可能需要一些时间,具体时间还取决于你的电脑性能和项目大小。 一旦编译完成,你将在编译输出目录中看到生成的可执行文件和相关的库文件。你可以将这些文件复制到你的工程中,并根据你的需求进行使用。 编译 qcefview 的过程可能会有一些问题,可能涉及到依赖项的安装和配置。如果你在编译过程中遇到任何问题,可以参考 qcefview 的官方文档或在相关的开发者社区中寻求帮助。 ### 回答3: qcefview 是一个用于嵌入和展示 Chromium 浏览器功能的工具,它可以在 Windows、Mac 和 Linux 系统上运行。编译 qcefview 需要以下步骤: 1. 首先,确认你已经安装了 CMake、Python 和 Git 工具,这些是编译 qcefview 的必要工具。 2. 在命令行中,使用 Git 克隆 qcefview 的源代码库。你可以在 GitHub 上找到 qcefview 的源代码库,复制库的 URL 并使用 `git clone` 命令进行克隆。 3. 进入克隆的 qcefview 目录,运行以下命令以初始化依赖项: ``` python ./dependencies/depot_tools/roll-dep third_party ``` 这个命令将从第三方库中获取 qcefview 的依赖项,并将其放入正确的目录。 4. 然后,运行以下命令下载 Chromium 源码并进行初始配置: ``` python ./dependencies/depot_tools/bootstrap.py --no-nacl ``` 这个命令将下载 Chromium 的源代码,并创建一个用于编译的工具链。 5. 接下来,使用以下命令生成编译文件: ``` python ./dependencies/depot_tools/gclient.py runhooks ``` 6. 在命令行中,使用 CMake 工具为 qcefview 生成编译文件。你需要指定生成文件的目录。 ``` cmake -B build -S . -D CMAKE_BUILD_TYPE=Release ``` 这个命令将在 build 目录中生成 qcefview编译文件。 7. 最后,运行以下命令进行编译: ``` cmake --build build --config Release ``` 这个命令将使用 Release 配置编译 qcefview。 一旦编译完成,你将在 build 目录中获得可执行文件。请注意,编译 qcefview 可能需要一些时间和计算资源。如果遇到编译错误,你可能需要检查系统环境和依赖项配置,以确保正确编译 qcefview
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值