尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Ladybird 构建时因 Qt6 低于 6.9 导致 CMake 配置失败怎么排查?

Ladybird 构建时因 Qt6 低于 6.9 导致 CMake 配置失败怎么排查? Ladybird 构建时因 Qt6 低于 6.9 导致 CMake 配置失败怎么排查【免费下载链接】ladybirdTruly independent web browser项目地址: https://gitcode.com/GitHub_Trending/la/ladybird在编译 Ladybird 浏览器的 Qt UI 时如果构建停在 CMake 配置阶段且怀疑本机的 Qt6 版本太旧可以按这条路径处理。Ladybird 的 Qt UI 构建要求 Qt6 6.9 及以上UI/Qt/CMakeLists.txt 中声明了find_package(Qt6 6.9 REQUIRED COMPONENTS Core Widgets)同一文件里还能看到针对Positioning第 8 行和GuiPrivate第 15 行组件的 6.9 REQUIRED 查找。构建文档 Documentation/BuildInstructionsLadybird.md 明确说明部分发行版仍打包低于 6.9 的 Qt6例如 Debian 13trixie自带 Qt 6.8configuring against it fails对着它配置会失败。适用前提该问题只发生在构建 Qt UI 的场景。Qt 是除 macOS 之外所有平台使用的 UImacOS 默认使用 AppKit构建 Qt UI 是选项通过LADYBIRD_GUI_FRAMEWORK选项或 ladybird.py 的--gui参数切换。如果 CMake 报错指向其他依赖先按对应文档处理——文档开头列出的完整前置包括 Qt6.9 开发包、nasm、附加构建工具、支持 C23 的编译器、Rust 工具链以及 $PATH 中可用的 CMake 3.30本文只处理 Qt6 版本过低这一种情况。先确认失败是 Qt 版本问题而不是 CMake 阶段的其他错误Documentation/Troubleshooting.md 记录了几个同样出现在配置/构建阶段、但根因不同的错误排查时先排除CMake 本身过旧用cmake --version确认版本大于等于 3.30。系统没有合适版本时文档建议从 CMake 官网下载二进制发布版。Unable to find a build program corresponding to Ninja文档指出这是误导信息red herring实际是 vcpkg 构建第三方依赖时出了问题应查看 CMake 提示的日志文档示例输出中的路径是Build/release/vcpkg-manifest-install.log。macOS 上 Targets may link only to libraries. CMake is dropping the item 警告文档明确说明这不是错误Qt UI 仍可构建成功。但该示例输出引用的是 Homebrewqt/6.7.0_1与当前find_package(Qt6 6.9 REQUIRED)的版本要求不一致两处描述来自不同文档应同时参考这条警告本身可忽略版本仍须满足 6.9。若 CMake 报错发生在 Qt6 依赖查找、且你所在发行版提供的 Qt6 低于 6.9如 Debian 13 的 6.8就属于本文要解决的问题。安装满足要求的 Qt6 6.9文档给出的方向是install a newer one from a newer distribution release, or directly from the Qt online installer从更新的发行版发布版安装或直接从 Qt 官方在线安装器安装。各平台的安装命令以构建文档为准macOS仅在需要构建 Qt UI 时安装brew install qtDebian/Ubuntu 的标准前置命令注意Debian 13 由此安装到的仍是 Qt 6.8之后需要用下面一节的CMAKE_PREFIX_PATH方式指向更新的 Qtsudo apt install autoconf autoconf-archive automake build-essential ccache cmake curl fonts-liberation2 git glslang-tools libdrm-dev libgl1-mesa-dev libncurses-dev libpulse-dev libtool nasm ninja-build pkg-config python3-venv qt6-base-private-dev qt6-positioning-dev qt6-tools-dev-tools qt6-wayland tar unzip zipArch/Manjaro、Fedora、openSUSE、Void Linux、FreeBSD 的完整包列表见 Documentation/BuildInstructionsLadybird.md 对应小节。如果发行版包仓库里的 Qt6 就是低于 6.9 的版本换用更新的大版本发行版或通过 Qt 官方在线安装器单独安装一套 6.9。用 CMAKE_PREFIX_PATH 让构建指向新的 Qt当新版 Qt6 装在非默认位置例如 Qt 在线安装器的安装目录或从其他发行版获取的包时按文档做法用CMAKE_PREFIX_PATH指向它。Troubleshooting 文档中的示例路径显示 Qt 的 CMake 包位于/opt/homebrew/Cellar/qt/6.7.0_1/lib/cmake/Qt6可见应指向的是 Qt 安装根目录即包含lib/cmake/Qt6的那一层目录。示例命令组合自文档给出的CMAKE_PREFIX_PATH用法与标准 CMake 构建命令# /path/to/qt6 为占位符替换成你新安装的 Qt6 的根路径 CMAKE_PREFIX_PATH/path/to/qt6 cmake --preset Release -B MyBuildDir ninja -C MyBuildDir run-ladybird如果新版 Qt6 位于系统默认搜索路径内例如 macOS 的 Homebrew可以直接使用文档给出的最简单构建入口它会构建 Release 版本./Meta/ladybird.py run验证修复是否生效这个问题的失败点是 CMake 配置阶段文档原文configuring against it fails所以修复生效的判定是重新执行上面同一组配置/构建命令配置阶段不再在 Qt6 依赖查找处失败构建继续推进。文档没有提供单独的 Qt6 版本检查命令也没有给出配置成功时应当出现的固定日志以配置不再失败、构建继续作为判断即可。如果构建过程中在 macOS 上又看到前面提到的 CMake is dropping the item 黄色警告按 Documentation/Troubleshooting.md 的说明它不阻塞构建无需再当作配置失败排查。【免费下载链接】ladybirdTruly independent web browser项目地址: https://gitcode.com/GitHub_Trending/la/ladybird创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表