交叉编译QT6源码-支持xcb(二)

花了30多个小时,终于在RK3568上编译了QT-6.8.0。无奈运行的时候报错,

参考 qt5.12.10源码编译时‘xcb’报错_error: feature 'xcb' was enabled, but the pre-cond-CSDN博客

因为编译的时候,不支持xcb或者不满足xcb。于是执行安装

sudo apt install -y     libxcb1-dev libx11-xcb-dev libxcb-render0-dev libxcb-shm0-dev libxcb-icccm4-dev     libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-xinerama0-dev     libxcb-util-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev
sudo apt install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev

执行安装。如果开发板,无法联网,需要从能ubuntu主机上下载,下载脚本如下:

#!/bin/bash
  
# 创建存放下载文件的目录
mkdir -p xcb_packages
cd xcb_packages

# 包 URL 列表
urls=(
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-damage0_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-damage0-dev_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-dpms0_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-dpms0-dev_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-dri2-0-dev_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-dri3-dev_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-glx0-dev_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/universe/x/xcb-imdkit/libxcb-imdkit1_1.0.3-1_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/x/xcb-util/libxcb-util0-dev_0.4.0-1build2_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/universe/x/xcb-imdkit/libxcb-imdkit-dev_1.0.3-1_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-present-dev_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-record0_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-record0-dev_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-res0-dev_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-screensaver0_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-screensaver0-dev_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-xf86dri0_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-xf86dri0-dev_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-xinput-dev_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/universe/x/xcb-util-xrm/libxcb-xrm0_1.0-3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/universe/x/xcb-util-xrm/libxcb-xrm-dev_1.0-3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-xtest0_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-xtest0-dev_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-xvmc0_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/libx/libxcb/libxcb-xvmc0-dev_1.14-3ubuntu3_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/universe/x/xcb-util-cursor/libxcb-cursor0_0.1.1-4ubuntu1_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/universe/x/xcb-util-cursor/libxcb-cursor-dev_0.1.1-4ubuntu1_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/x/xcb-util-wm/libxcb-ewmh2_0.4.1-1.1build2_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/x/xcb-util-wm/libxcb-ewmh-dev_0.4.1-1.1build2_arm64.deb"
    "https://repo.huaweicloud.com/ubuntu-ports/pool/main/x/xcb-util-wm/libxcb-icccm4-dev_0.4.1-1.1build2_arm64.deb"
)

# 使用 wget 下载所有包
for url in "${urls[@]}"; do
    echo "Downloading $url..."
    wget -c "$url"
done

echo "All packages downloaded successfully."

在ubuntu主机上执行上面脚本,会将安装包下载到  xcb_packages文件夹,然后将 xcb_packages文件夹导入到开发板。在开发板里执行,

  cd xcb_packages/
  sudo dpkg -i *.deb

完成,安装之后,重新执行

./configure -xcb -xcb-xlib

检查配置的log,发现遗憾的是

提示FEATURE_xcb 设置为 OFF: 尽管 XLib 和其他基本 xcb 库已启用,但 Qt 构建未能成功开启完整的 xcb 支持。明明已经安装了必要的安装包,为何还会如此。可能是缓存的原因,删除缓存文件。

rm -f CMakeCache.txt

之后,再次./configure -xcb -xcb-xlib

再次搜索FEATURE_xcb,发现没有提示。接着编译

cmake --build . --parallel 8

开始漫长的等待。。。未完,下一篇继续。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值