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",