macOS arm64e架构 qt5.15 移植 qtwebengine 问题记录

背景:macOS arm64架构 + clang16.0.0 移植qt5.15.15 与 qtwebengine5.15.17遇到的问题。

先使用qt-everywhere-src 编译发现无论如何都不编译qtwebengine 模块,查阅网上wiki发现macOS  arm64架构必须使用qt官方仓库代码编译qtwebengine,并且由于我的电脑系统版本与Xcode、clang版本较高,需要使用高版本chromium内核,所以切换到较新的qtwebengine5.15.17模块,再单独编译安装模块(必须先编译qmake)

下载步骤:

git clone git://code.qt.io/qt/qtwebengine.git

cd qtwebengine

git checkout v5.15.17-lts -b 5_15_17-lts

git submodule init 

git submodule update --

mkdir ../build-qtweb && cd ../build-qtweb

qmake ../qtwebengine . # 注意你的qmake 编译参数中最好带debug刨析

make -j6 && make install

make遇到的问题:

1 编译报error提示 这个”-Wenum-constexpr-conversion”,可能是 clang版本过高导致

需要给编译参数 “-Wno-enum-constexpr-conversion”

需修改下列几个文件,加入编译参数

src/3rdpart/chromium/build/config/compiler/BUILD.gn

src/3rdpart/chromium/v8/BUILD.gn

 

2 报错提示 缺少第三方 spellcheck.h 之类头文件 ,未知问题可能是

src/3rdpart/chromium/content/public/browser/BUILD.gn

@@ -469,6 +469,7 @@ jumbo_source_set("browser_sources") {

     "//build:chromeos_buildflags",

     "//cc",

     "//components/viz/host",

+    "//components/spellcheck:buildflags",

     "//content/browser",  # Must not be public_deps!

     "//device/fido",

     "//gpu",