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

相关推荐
zlinear数据采集卡1 天前
数据采集卡从入门到精通(10):采样率与分辨率的核心关系——反比律、架构分布与过采样
arm开发·嵌入式硬件·算法·fpga开发·架构·开源
CIAS2 天前
uniontechos-server-20 1050 u2a pxe Server -x86 arm loongarch
arm开发
振南的单片机世界2 天前
推挽vs开漏:一个“强拉硬灌”,一个“只拉不管”
arm开发·stm32·单片机·嵌入式硬件
zlinear数据采集卡2 天前
数据采集卡从入门到精通(7):流水线型ADC——级级接力,高速与高精的平衡术
开发语言·arm开发·嵌入式硬件·fpga开发·c#
硅农程序猿3 天前
从需求到硅片| 一文讲清数字芯片设计流程
arm开发·硬件架构·risc-v
秋田君3 天前
QT_网络编程体系
网络·arm开发·qt
zlinear数据采集卡3 天前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
振南的单片机世界3 天前
SysTick硬核拆解:既是HAL_Delay的“心跳”,也是RTOS的“节拍器”
arm开发·stm32·单片机·嵌入式硬件
北京盛世宏博3 天前
以太网温湿度传感器星型组网三种供电布线技术对比文档
arm开发·以太网·原理·传感器·温湿度·原来
zlinear数据采集卡4 天前
D223 ADC数据处理流水线:从原始采样值到工程单位的完整转换链
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#