jetson orin nano 安装qt5.15.2、5.15.3踩坑教程

?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言


最近再jetson orin nano上安装qt环境,为了开发QGC(无人机地面站)必须用到qt的一些private包。在安装qt时,遇到一个问题就是 :Project ERROR: Library ‘assimp’ is not defined.这个问题在qt5.15.2和5.15.3都遇到过,下面我从头带大家下载旧的qt源码并编译,一起来解决相关问题。

一、下载qt源码

1.清华源下载

https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/qt/5.15/5.15.13/single/,这是官方地址,我这里选择5.15.3。在这里插入图片描述
arm64的处理器选择tar.xz结尾,下载好后拷贝到主机上。
接下来就是解压:

tar -xvf qt-everywhere-opensource-src-5.15.13.tar.xz
cd qt-everywhere-opensource-src-5.15.13
mkdir build && cd build 
#我这里跳过了一些东西,安装目录也是在home目录,建议自行安装
../configure -prefix $HOME/QGC/Qt5.15.3              -opensource -confirm-license              -release -nomake tests -nomake examples              -skip qtandroidextras -skip qtmacextras -skip qtwinextras

2.官方仓库下载

https://download.qt.io/,这是总的目录,5.15.3下载依次点击: archive、qt、 5.15、 5.15.3、 single、 qt-everywhere-opensource-src-5.15.3.tar.xz;也可以直接访问:https://download.qt.io/archive/qt/5.15/5.15.3/single/
在这里插入图片描述

二、编译qt,报错Project ERROR: Library ‘assimp’ is not defined.

在5.15.2和5.15.3甚至其他版本都会报错,具体解决办法比较简单。打开assimp.pro这个文件,注意路径。
通过主机直接修改:

#我的源码在桌面,打开这个文件,去修改它
sudo open ~/Desktop/qt-everywhere-src-5.15.3/qtquick3d/src/plugins/assetimporters/assimp/assimp.pro

修改前:
在这里插入图片描述

修改后如图:
在这里插入图片描述
!!!一定要删除原本的那一句,并添加如下代码:

CONFIG += link_pkgconfig # 启用 pkg-config 支持
PKGCONFIG += assimp     # 指定通过 pkg-config 查找 assimp 库

三、编译qt,报错缺少limits头文件

这两个版本都会有几个.h文件存在缺少头文件,5.15.2版本多,5.15.3版本官方修复了两个,我的路径是:/home/nvidia/Desktop/qt-everywhere-src-5.15.2,缺少头文件的文件大致如下:

  1. /home/nvidia/Desktop/qt-everywhere-src-5.15.2/qtbase/src/corelib/text/qbytearraymatcher.h
  2. /home/nvidia/Desktop/qt-everywhere-src-5.15.2/qtbase/src/corelib/global/qendian.h
  3. /home/nvidia/Desktop/qt-everywhere-src-5.15.2/qtbase/src/corelib/global/qfloat16.h
  4. /home/nvidia/Desktop/qt-everywhere-src-5.15.2/qtdeclarative/src/qmldebug/qqmlprofilerevent_p.h
    以上文件添加:#include
    这样就不会报错了,还有报错的,我可能没统计完。

四、qt编译完成,拷贝qt库到系统目录

我qt的安装路径为:/home/nvidia/QGC/Qt5.15.3,这是前面编译qt源码时就决定了,建议大家一步到位,哈哈啊哈。
拷贝到系统路径如图:

类型系统路径
库 (.so)/usr/local/lib
头文件/usr/local/include/Qt5
插件/usr/local/lib/qt5/plugins
sudo cp /home/nvidia/QGC/Qt5.15.3/lib/*.so* /usr/local/lib/
sudo ldconfig   # 更新动态链接器缓存
sudo cp -r /home/nvidia/QGC/Qt5.15.3/include/* /usr/local/include/
sudo cp -r /home/nvidia/QGC/Qt5.15.3/plugins/* /usr/local/lib/qt5/plugins/

五、QGC编译出错

1.fatal error: QtLocation/private/qgeomaptype_p.h: No such file or directory 报错

先前我们安装了qt的源码,我安装在了home目录下,然后我把qt的头文件和库以及插件都拷贝到了/usr/local/include和/usr/local/lib下,这里就完全是低级错误,qt对于私有的头文件,路径在include+包名+版本号+包名+private+头文件名,举个例子:
在这里插入图片描述
QGC源码中cmakelists文件路经为/usr/loacl/include,并没有安装好的私有头文件的路径,需要自己添加!!!我这里添加了私有包的文件夹
在这里插入图片描述

总结

在安装qt时,这两个错误都是常见的,也比较好改,我被困在了第一个错误很久,网上也有其他教程去解决,新人博客请大家多多指教,膜拜各位大佬。

### Jetson Orin Nano QT 开发设置和配置教程 #### 安装必要的软件包 为了能够在 Jetson Orin Nano 上使用 Qt 进行开发,首先需要确保安装了所有必需的依赖项。这可以通过更新现有的包列表并安装特定工具来完成。 对于 Ubuntu 20.04.5 LTS 和 Jetpack 5.1.1 的环境,在终端执行以下命令可以安装 Qt Creator: ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install qtcreator -y ``` 此操作会下载并安装最新版本的 Qt Creator 到系统中[^3]。 #### 设置交叉编译环境 当目标设备为嵌入式平台如 Jetson Orin Nano 时,通常会在主机上构建应用程序并通过网络将其传输至目标板运行。因此,建立一个合适的交叉编译链至关重要。 假设已经完成了针对 Jetson 平台的 SDK Manager 或者其他方式下的初始配置工作,则下一步就是将本地生成的库文件同步到远程机器上去。例如,如果是在 Linux 主机上编译了一个基于 Qt 的项目,那么可以用 `rsync` 命令实现这一过程: ```bash sudo rsync -avz sysroot/usr/local/Qt5JetsonOrinNano root@JetsonOrinNanoIp:/usr/local/ ``` 这里假定 IP 地址被替换成了实际的目标设备地址,并且有权限访问该位置以写入数据[^2]。 #### 获取官方文档和支持资源 NVIDIA 提供了一系列详细的指南帮助开发者更好地理解和利用其硬件特性。要找到适用于 Jetson Orin Nano 的具体资料,可以从 NVIDIA 官方网站进入开发者中心,按照路径导航获取所需的信息:Developers -> Browse by Solution Areas -> Autonomous Machines -> Jetson developer kits -> Community & Tech Forum[^1]。 通过上述步骤,应该能够顺利地在 Jetson Orin Nano 设备上搭建起支持 Qt 应用程序开发的工作流程。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值