qt5.15.5的webengine在win11_x64msvc2022下的编译记录

首先在官方地址下载qtwebengine5.15.5的源码
由于之前已经安装了整体,这里是只下载了webengine
https://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/
在这里插入图片描述
把源码解压到想要存储的地址,比如D:\qt5.15.5_shared\qtwebengine-everywhere-src-5.15.5
之后最好要把电脑的语言改为英语,我这里已经变成英文了。
在这里插入图片描述
在这里插入图片描述
并且勾选beta使用utf-8编码
最好也把vs的语言改一下,也改成英文的,以免出现各种问题
并且截至本人这篇文章记录的时间,visual studio的编译版本有bug,需要更新到preview版本,要不然理论上不能编译webengine
对应的问题报告来自https://developercommunity.visualstudio.com/t/Internal-compiler-error-when-install-ang/10059040
在这里插入图片描述

重启电脑
编译webengine需要有
python2.17.5以后,不支持python3, 记得改一下环境变量
bison
gperf
flex
这些都不用下载的,在qt-everywhere-src-5.15.5中有的,添加到环境变量
在这里插入图片描述
还需要有nodejs, 如果没有的话需要到官网下载一下
https://nodejs.org/en/download/
nodejs需要怎么安装配置,可以搜一下。
记得把qmake.exe所在的bin目录添加到环境变量
我这里是参考了https://blog.csdn.net/yang_yangyang/article/details/121907688
之后按照硬件的具体配置选择msvc的命令行,如果是x64, 就用x64 native tool command prompt for visual studio2022, 如果是x86,好像这个版本的qt只能编译成x64版本的,就选x86_x64 cross native tool command prompt
移动到源码目录下:
在这里插入图片描述
最好建一个文件夹build,再移动到build下
D:\qt\qt5.15.5_shared\qtwebengine-everywhere-src-5.15.5\build
之后运行

qmake.exe ..\qtwebengine.pro -- -webengine-proprietary-codecs

成功完成后运行

nmake
nmake install

我这里nmake编译花了非常多的时间,不过还是能完成的
如果需要清理中间生成的obj什么的,运行

nmake clean

应该也可以把不需要的文件夹删掉,要不太占空间了

其实我在编译时是有报错的,我花了一段时间找到了解决方法。
需要改三个文件,实际上5.15.5的版本只需要改两个文件,可以参考https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/321741
具体也就是把qtwebengine-everywhere-src-5.15.5\src\3rdparty\chromium\third_party\blink\renderer\platform\graphics\dark_mode_lab_color_space.h 文件对应的位置改成

146  SkV3 ToXYZ(const SkV3& lab) const {
147    auto invf = [](float x) -> float {
148      return x > kSigma ? pow(x, 3) : 3 * kSigma2 * (x - 4.0f / 29.0f);
149    };

再把qtwebengine-everywhere-src-5.15.5\src\3rdparty\chromium\third_party\perfetto\src\trace_processor\timestamped_trace_piece.h文件对应的位置改成

191  TimestampedTracePiece& operator=(TimestampedTracePiece&& ttp) {
192    if (this != &ttp) {
193      // First invoke the destructor and then invoke the move constructor
194      // inline via placement-new to implement move-assignment.
195      this->~TimestampedTracePiece();
196      new (this) TimestampedTracePiece(std::move(ttp));
197    }
198    return *this;
199  }
200
201    TimestampedTracePiece& operator=(TimestampedTracePiece&& ttp) const {
202    if (this != &ttp) {
203      // First invoke the destructor and then invoke the move constructor
204      // inline via placement-new to implement move-assignment.
205      this->~TimestampedTracePiece();
206      new (const_cast<TimestampedTracePiece*>(this))
207          TimestampedTracePiece(std::move(ttp));
208    }
209
210    return const_cast<TimestampedTracePiece&>(*this);
211  }
212
213  TimestampedTracePiece(const TimestampedTracePiece&) = delete;
214  TimestampedTracePiece& operator=(const TimestampedTracePiece&) = delete;
215//#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
216//  TimestampedTracePiece& operator=(TimestampedTracePiece&& ttp) const {
217//    return (*const_cast<TimestampedTracePiece*>(this) = std::move(ttp));
218//  }
219//#endif

更改之后我的编译就没有问题了。编译成功,可以正常使用。
如果还是出现了各种各样的问题,可以输入:

nmake >compile.log 2>&1

来查看相关的日志,搜索错误内容,我其实也就是这样搞得。这个方法参考于https://blog.csdn.net/shada/article/details/97267721

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Ubuntu 20.04上运行Qt 5.15.5,您需要安装Qt 5.15.5的依赖包。 首先,更新您的系统软件包列表: ``` sudo apt update ``` 然后,安装Qt 5.15.5所需的依赖包: ``` sudo apt install build-essential libgl1-mesa-dev libglu1-mesa-dev \ libasound2-dev libx11-dev libxext-dev libxfixes-dev libxi-dev \ libxrandr-dev libxrender-dev libxtst-dev libcups2-dev libdbus-1-dev \ libegl1-mesa-dev libinput-dev libatspi2.0-dev libmtdev-dev \ libudev-dev libfontconfig1-dev libfreetype6-dev libssl-dev \ libbz2-dev libicu-dev libxslt1-dev libsqlite3-dev \ libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev ``` 最后,您可以从Qt官方网站下载Qt 5.15.5源代码并编译安装。 安装完依赖包后,您就可以在Ubuntu 20.04上运行Qt 5.15.5的程序了。 ### 回答2: 要在Ubuntu 20.04上运行Qt 5.15.5的程序,您需要安装Qt的相关依赖包。以下是安装步骤: 1. 打开终端。 2. 确保您的系统是最新的,运行命令:sudo apt update。 3. 安装Qt 5.15.5的依赖包,运行以下命令: sudo apt install build-essential libgl1-mesa-dev libxkbcommon-x11-0 libpulse-mainloop-glib0 4. 安装Qt 5.15.5Qt必需包,运行以下命令: sudo apt install qtbase5-dev qt5-default qtbase5-private-dev 5. 运行以下命令来安装Qt的可选功能: sudo apt install qtdeclarative5-dev qml-module-qtquick2 qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtquick-dialogs qml-module-qtquick-window2 qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel qml-module-qt-labs-platform qml-module-qt-websockets 6. 最后,运行以下命令以确保安装的Qt版本是5.15.5: qmake -v 如果命令输出显示Qt版本为5.15.5,则说明安装成功。 现在,您已经成功安装了在Ubuntu 20.04上运行Qt 5.15.5的依赖包。您可以开始编译和运行Qt 5.15.5的程序了。 ### 回答3: 要在Ubuntu 20.04上运行Qt 5.15.5的程序,您需要安装一些依赖包。以下是安装这些依赖包的步骤: 1. 打开终端 您可以按Ctrl + Alt + T键以打开终端,也可以从应用程序菜单中找到终端应用程序。 2. 添加Qt软件源 在终端中运行以下命令,将Qt软件源添加到系统中: ``` sudo add-apt-repository ppa:beineri/opt-qt-5.15.5-focal sudo apt update ``` 3. 安装依赖包 运行以下命令来安装Qt 5.15.5所需的依赖包: ``` sudo apt install build-essential libgl1-mesa-dev libxkbcommon-dev libpulse-dev libasound2-dev libudev-dev libjpeg-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libavdevice-dev libfontconfig1-dev libx11-dev libxi-dev libxcb1-dev libx11-xcb-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-render-util0-dev libxcb-shm0-dev libxcb-randr0-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-xinput-dev zlib1g-dev libssl-dev ``` 4. 安装Qt 5.15.5 运行以下命令来安装Qt 5.15.5: ``` sudo apt install qt5155-meta-full ``` 5. 配置环境 运行以下命令来配置Qt 5.15.5的环境变量: ``` echo 'source /opt/qt5155/bin/qt5155-env.sh' >> ~/.bashrc source ~/.bashrc ``` 现在,您已经安装了Qt 5.15.5的依赖包,并配置了正确的环境变量。您可以开始在Ubuntu 20.04上运行Qt 5.15.5的程序了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值