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

相关推荐
女神下凡2 小时前
芯参谋(31):SPI NOR Flash 电路设计指南
arm开发·单片机·嵌入式硬件·fpga开发·设计规范
程序员JerrySUN2 小时前
Jetson边缘嵌入式实战课程第四讲:用 Yocto 定制 Jetson 系统,从开发走向产品化
arm开发·人工智能·安全·计算机视觉·目标跟踪
女神下凡6 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
从零开始的嵌入式之旅6 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
老当益壮梁奶奶6 天前
ARM汇编学习笔记(六):【i.MX6ULL】时钟系统与定时器(EPIT & GPT)
c语言·arm开发·嵌入式硬件·学习·51单片机
昌原的儿子LEO6 天前
IMX6ULL 时钟系统与 EPIT/GPT 定时器原理与配置
arm开发·学习
sunoo-2296 天前
【ARM嵌入式学习笔记Day6】一文打通i.MX6ULL时钟体系:PLL/PFD/预分频+滞回比较器全解析
arm开发·笔记·vscode·单片机·imx6ull·汇编语言
M78佐菲7 天前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
sunoo-2297 天前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机
Doraemomo7 天前
IMX6ULL裸机开发——PWM
arm开发·嵌入式硬件·imx6ull