【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 运行时库)。

相关推荐
磨十三20 小时前
U-Boot
arm开发·嵌入式硬件
Discipline~Hai2 天前
ARM03-蜂鸣器和中断
c语言·arm开发·单片机·嵌入式硬件·嵌入式
byte轻骑兵3 天前
BlueZ源码编译环境配置全指南:Linux桌面原生编译 + 嵌入式ARM交叉编译 + 定制裁剪与调试实战
linux·arm开发·蓝牙·bluez·电脑蓝牙
武汉万象奥科4 天前
AGV导航控制器方案 | 基于HD-RK3576系列核心板的算控融合一体化平台
arm开发·嵌入式硬件·arm核心板·单板机
zlinear数据采集卡4 天前
从“脏信号”到“纳伏级纯净”:硬核拆解DABL7606的多级抗混叠滤波与24位过采样算法
arm开发·科技·嵌入式硬件·fpga开发·开源
透明的玻璃杯4 天前
Arm屏幕
arm开发
Fu_Lin_4 天前
Qt嵌入式从零基础到精通(01):Qt嵌入式开发全景图:从桌面Qt到ARM Linux
linux·arm开发·qt·qt5·嵌入式linux
XMAIPC_Robot5 天前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
亿道电子Emdoor5 天前
【Arm】CoreSight ATB 简介
arm开发