构建 QAIRT 2.48 Ubuntu 交叉编译工具链环境 aarch64-ubuntu-gcc9.4

番茄ROS机器人 2026-09-20 13:08:50

 

QAIRT 的文档哪里都挺全面,就是唯独缺少了 aarch64-ubuntu-gcc9.4 这个极为关键的交叉编译环境工具链,更坑的是 ARM 还把这个版本的工具链下载链接给删除了,我勒个豆呀~难死宝宝了。

本系列教程前置文章:

1、下载 QAIRT(Qualcomm® AI Runtime SDK - Community Edition) 历史版本

2、使用 torch 构建模型并导出为适配 QNN248 推理环境 onnx 格式

 

找历史版本的档案链接:

https://support.arm.com/documentation/ka005611/1-0/

 

打开之后,唯独就是没有这个 10.3 版本的,并且历史下载链接也给移除了。

aarch64-ubuntu-gcc9.4 这个环境对应的 ARM 交换编译工具链版本是:10.3‑2021.07,因为只有这个版本对应的是 gcc9.4 ,在 Ubuntu 20.04 系统中可以通过 apt 来安装交叉编译工具链,但是这不是番茄的目标,因为番茄的环境是 22.04 ,所以必须得想办法把这个工具链给搞定。

得到这个工具链,一般有2种方法:1、通过源码编译得到;2、通过预编译的二进制文件得到。

显然第 2 种方式,在ARM官方的文档里已经得不到答案了,那么第1种方式,也就成为了候选。

番茄尝试了第1种方法,但是构建失败了,没有成功,后续单独写一篇文章分享一下失败经验,有几处细节可能没操作正确,还需要大佬的指点~

番茄在装到南墙之后,不得已回到了第2种方法,既然官方文档得不到答案,那就只能是万能的全网社区了。

好在,经过番茄的不断试错尝试,终于把这个路子调通了。

番茄已经把调整修复好的,适配 aarch64-ubuntu-gcc9.4 编译环境的 10.3‑2021.07 版本的 amd64 ubuntu 环境的交叉编译工具链,共享到 github 上了,地址如下:

https://github.com/tomato-ros/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu

番茄在 ubuntu 22.04 / qairt-2.48.40.260702 的环境测试,可以运行通过。

主要在交叉工具链中增加了2个软连接,代码如下:

 


export QNN_AARCH64_UBUNTU_GCC_94=$HOME/work/qairt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu

mkdir -p ${QNN_AARCH64_UBUNTU_GCC_94}/usr/bin

cd ${QNN_AARCH64_UBUNTU_GCC_94}/usr/bin

ln -s ../../bin/aarch64-none-linux-gnu-objcopy aarch64-linux-gnu-objcopy

ln -s ../../bin/aarch64-none-linux-gnu-g++     aarch64-linux-gnu-g++

 这个软连接必须添加,否则后续编译报错。因为这个 rootfs 环境工具链是高通内部私有的,没有开放出来,所以需要一些微调。

修改完工具链,还需修改一下 bin/x86_64-linux-clang/qnn-model-lib-generator 的 python 代码内容:

找到文件代码中如下的内容,在 385 行处:


LinuxTarget(name='ubuntu-aarch64-gcc9.4',
        alias='aarch64-ubuntu-gcc9.4',
        compiler='${QNN_AARCH64_UBUNTU_GCC_94}/usr/bin/aarch64-linux-gnu-g++',
        sys_root='${QNN_AARCH64_UBUNTU_GCC_94}')

修改为:

LinuxTarget(name='ubuntu-aarch64-gcc9.4',
        alias='aarch64-ubuntu-gcc9.4',
        compiler='${QNN_AARCH64_UBUNTU_GCC_94}/usr/bin/aarch64-linux-gnu-g++',
        sys_root='${QNN_AARCH64_UBUNTU_GCC_94}/aarch64-none-linux-gnu/libc')

经过以上两步的调整,你的 qairt 2.48.40.260702 不出意外的话,就可以正常干活了。

...全文
26 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,697

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、IoT、PC 、XR、Auto等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
物联网人工智能开源 企业社区 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧