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

相关推荐
外域速览21 小时前
GPT-6 Astra 开放、标普罕见拉响 AI 基建信用警报、三星 Arm 联手 2nm 端侧芯片:算力下半场的三条主线
arm开发·人工智能·gpt
女神下凡2 天前
RISC‑V 对比 ARM,实际项目到底怎么选?
arm开发
珞光电子USRP SDR软件无线电平台4 天前
国产嵌入式SDR平台LW-E320-G详解:射频、FPGA、ARM架构与应用选型
arm开发·fpga开发·架构
Jason_zhao_MR4 天前
Linux与采集MCU通信为什么我们用了双SPI
linux·arm开发·单片机·嵌入式硬件·嵌入式
ARM|X86+FPGA工业主板厂家5 天前
基于嵌入式 GPU 的智能服务机器人
linux·运维·arm开发·fpga开发·机器人
一池秋_5 天前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
qq_402995756 天前
诊断协议栈配置Agent
arm开发·人工智能·stm32·单片机·mcu
一木 之林8 天前
三.C++ 内存管理(进阶)(二)
开发语言·arm开发·c++
hongmai6668889 天前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g
隔窗听雨眠10 天前
ARM架构下Logstash与Elasticsearch集群部署完全指南:从环境适配到生产验证
arm开发·elasticsearch·架构