You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QBS配置指定Qt版本时出现5.12.8与5.15.2版本不兼容报错

问题根本原因

  • 你通过apt安装的qbs本身是基于系统自带的Qt 5.12.8编译的,运行qbs命令时,进程默认会加载系统路径下的5.12.8版本Qt核心库
  • qbs setup-qt执行过程中需要调用你指定的Qt 5.15.2的qmake,同时会加载5.15.2版本的Qt相关模块到当前qbs进程中,同一进程加载两个不兼容的Qt版本就触发了报错
  • 你设置的ignoreSystemSearchPaths是QBS构建项目时的参数,作用是控制项目编译阶段的头文件、链接库搜索路径,完全不影响qbs程序自身运行时的动态库加载逻辑,所以加了也没用

可行解决方案

任选一种即可,推荐第一种改动最小:

方案1:运行qbs前优先加载Qt 5.15.2的库路径

修改setup qbs步骤,在执行所有qbs命令前将Qt 5.15.2的库路径加入LD_LIBRARY_PATH环境变量:

- name: setup qbs
  run: |
    export LD_LIBRARY_PATH=$Qt5_DIR/lib:$LD_LIBRARY_PATH
    qbs setup-qt $Qt5_DIR/bin/qmake qt
    qbs config --list profiles
    qbs config defaultProfile qt
    qbs config profiles.qt.preferences.ignoreSystemSearchPaths true

后续所有需要执行qbs构建的步骤,都要先设置这个环境变量,保证qbs运行时加载的是5.15.2版本的Qt库。

方案2:不使用apt源的qbs,安装和Qt 5.15.2版本匹配的qbs

apt安装阶段去掉qbs的安装,直接通过install-qt-action安装配套的qbs:

- name: install clang12, qmake
  run: |
    sudo apt-get update -y
    sudo apt-get install -y clang-12 llvm-12 qt5-qmake
- name: Install Qt and qbs
  uses: jurplel/install-qt-action@v2
  with:
    version: 5.15.2
    modules: qbs

这个方案安装的qbs本身就是基于Qt 5.15.2编译的,不会出现版本冲突问题。

内容的提问来源于stack exchange,提问作者SebastianH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:24:02