基于Qt Creator实现Linux(x86_64)到Raspbian(arm)交叉编译指南求助
Qt Creator从x86_64 Linux交叉编译到Raspbian(arm)的实现方案
关于你的疑问
- 你的预期完全正确:无需在树莓派上安装Qt Creator或编译工具,直接在x86_64 Linux主机完成交叉编译,将生成的可执行文件复制到树莓派运行是完全可行的。
- 不能仅靠配置套件实现:Qt库与CPU架构强绑定,主机默认的x86_64架构Qt库无法在arm架构的Raspbian上运行,必须先获取对应版本的arm架构Qt库,再配合交叉工具链配置套件。
简易操作步骤
- 安装交叉编译工具链
在x86_64 Linux主机上通过包管理器安装armhf架构的交叉编译工具:sudo apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
- 安装交叉编译工具链
- 获取arm架构的Raspbian Qt库
使用预编译的对应Raspbian版本、Qt版本的arm架构Qt库(你提到的GitHub项目生成的库完全适用),将其解压到主机的固定目录,比如/opt/qt-raspbian/。
- 获取arm架构的Raspbian Qt库
- 配置Qt Creator套件
打开Qt Creator,进入工具->选项->构建和运行:
- 添加编译器:选择GCC类型,编译器路径设为
/usr/bin/arm-linux-gnueabihf-g++,命名为ARM GCC - 添加Qt版本:点击「添加」,选择解压后Qt库目录中的
qmake(如/opt/qt-raspbian/bin/qmake),命名为Qt X.X.X Raspbian ARM(X.X.X替换为实际Qt版本号) - 创建套件:新建套件,关联刚才添加的ARM编译器和Qt版本,命名为
Raspbian ARM Kit
- 配置Qt Creator套件
- 编译项目
在Qt Creator的套件切换栏选择Raspbian ARM Kit,执行构建操作,生成的可执行文件即为arm架构。
- 编译项目
- 部署运行
将生成的可执行文件(若使用动态编译,还需将依赖的Qt动态库一并复制)传输到树莓派,赋予执行权限后直接运行即可。
- 部署运行
内容的提问来源于stack exchange,提问作者TSG
相关产品推荐
相关产品推荐

