【deban13】系统 安装arm qt6.8.2

配置镜像源

复制代码
#deb cdrom:[Debian GNU/Linux 13.6.0 _Trixie_ - Official amd64 DVD Binary-1 with firmware 20260711-09:43]/ trixie contrib main non-free-firmware
# 官方 amd64 源
deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie main contrib non-free non-free-firmware
deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie-updates main contrib non-free non-free-firmware

# 清华镜像的 arm64 源 (注意: 地址和上面一样, 只是限制了架构)
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie main contrib non-free non-free-firmware
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie-updates main contrib non-free non-free-firmware

# 安全更新源 (清华镜像也提供了安全更新)
deb [arch=amd64,arm64] https://mirrors.tuna.tsinghua.edu.cn/debian-security/ trixie-security main contrib non-free non-free-firmware
1. 确认当前架构
复制代码
dpkg --print-architecture
# 应该输出: amd64
2. 添加 ARM 架构支持并安装交叉编译版 Qt6
复制代码
# 启用 arm64 架构
sudo dpkg --add-architecture arm64
sudo apt update

# 安装 ARM64 交叉编译工具链
sudo apt install -y crossbuild-essential-arm64

# 安装 ARM64 版本的 Qt6 库(注意包名后缀 :arm64)
sudo apt install -y \
    qt6-base-dev:arm64 \
    qt6-base-dev-tools:arm64 \
    libqt6core6:arm64 \
    libqt6gui6:arm64 \
    libqt6widgets6:arm64

注意 :qt6-base-dev-tools:arm64 可能与系统现有的 amd64 版本冲突。如果报错,保留 amd64 版本即可,ARM 版本只需安装库文件。

3. 安装其他常用 ARM64 Qt6 模块
复制代码
sudo apt install -y \
    libqt6network6:arm64 \
    libqt6opengl6:arm64 \
    libqt6svg6:arm64 \
    libqt6sql6:arm64 \
    libqt6xml6:arm64 \
    libqt6dbus6:arm64 \
    qt6-qpa-plugins:arm64
4. 创建交叉编译工具链配置

ARM64 版的 Qt6 库会被安装到 /usr/lib/aarch64-linux-gnu/,你需要创建一个 CMake 工具链文件:

复制代码
cat > ~/arm64-toolchain.cmake << 'EOF'
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)

# 交叉编译器
set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)

# 目标系统根目录
set(CMAKE_SYSROOT /)
set(CMAKE_FIND_ROOT_PATH /usr/lib/aarch64-linux-gnu)

# 在目标系统中搜索头文件和库
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
EOF
5. 交叉编译测试
复制代码
cd ~/qt6-test

# 用 CMake 替代 qmake(交叉编译推荐 CMake)
cat > CMakeLists.txt << 'EOF'
cmake_minimum_required(VERSION 3.16)
project(qt6_test LANGUAGES CXX)

find_package(Qt6 REQUIRED COMPONENTS Widgets)

add_executable(test main.cpp)
target_link_libraries(test Qt6::Widgets)
EOF

mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=~/arm64-toolchain.cmake ..
make

# 验证架构
file ./test
# 应该输出: ELF 64-bit LSB executable, ARM aarch64...

这样生成的 test 可执行文件就可以拷贝到 ARM64 目标设备上运行了(目标设备仍需安装 Qt6 运行时库)。

相关推荐
XMAIPC_Robot21 小时前
ARM+FPGA+AI船舶/工业自动化控制器EMC测试等级解析(IEC60533/IEC60945)
arm开发·人工智能·fpga开发·zynq·arm+fpga·rk3588+fpga
奔跑的架构师2 天前
[A-51]ARMv9/v8-SCMI系统架构
linux·arm开发·架构·系统架构·arm
玄芯散人2 天前
【元婴·94】ARM vs RISC-V大战
arm开发·risc-v
szxinmai主板定制专家2 天前
ZYNQ PL+PS 架构拆解|工业自动化与电力物联网高速数据采集、预处理与协议上云
arm开发·人工智能·物联网·fpga开发·数据采集卡·rk3576
szxinmai主板定制专家2 天前
告别 ARM 实时性短板:基于 ZYNQ 的电力故障录波 + 工业振动数据采集系统设计
arm开发·人工智能·fpga开发·zynq·数据采集卡·arm+fpga·rk3588+fpga
Awh-3 天前
ARM 裸机开发 DAY11 学习笔记
arm开发·笔记·学习
陌上花开缓缓归以3 天前
openssl 模拟签名验签(加密解密)详细分析
arm开发
en.en..3 天前
ARM 汇编 B / BL 核心区别
汇编·arm开发
程序员JerrySUN3 天前
Jetson Edge AI 实战05:Secure Boot 到底在保护什么?PKC、SBK、Fuse 与可信启动链一次讲清【视频讲解】
arm开发·人工智能·安全·计算机视觉·目标跟踪·音视频
老当益壮梁奶奶3 天前
驱动学习(二):从零开始:驱动工程搭建与字符设备驱动框架详解(基于IMX6ULL)
c语言·arm开发·驱动开发·嵌入式硬件·学习