配置镜像源
#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 运行时库)。