QGroundControl@Jetson Orin Nano - 从代码编译安装

1. 源由

先说结论:直接从QGroundControl代码在Jetson Orin Nano板子上编译不成功!

按照以下文档中的步骤和方法进行编译,最后卡在:

  1. Getting Started with Source and Builds
  2. Building Qt 6 from Git
/home/daniel/QGC/qgroundcontrol/libs/qmlglsink/qt6/gstqt6glutility.cc: In function ‘GstGLDisplay* gst_qml6_get_gl_display(gboolean)’:
/home/daniel/QGC/qgroundcontrol/libs/qmlglsink/qt6/gstqt6glutility.cc:94:62: error: ‘QX11Application’ is not a member of ‘QNativeInterface’; did you mean ‘QWaylandApplication’?
   94 |     auto x11_native = app->nativeInterface<QNativeInterface::QX11Application>();
      |                                                              ^~~~~~~~~~~~~~~
      |                                                              QWaylandApplication
/home/daniel/QGC/qgroundcontrol/libs/qmlglsink/qt6/gstqt6glutility.cc:94:79: error: no matching function for call to ‘QGuiApplication::nativeInterface<<expression error> >()94 |     auto x11_native = app->nativeInterface<QNativeInterface::QX11Application>();
      |                                                                               ^
In file included from /home/daniel/QGC/qt6/qt6-install/include/QtCore/qcoreapplication.h:16,
                 from /home/daniel/QGC/qt6/qt6-install/include/QtGui/qguiapplication.h:8,
                 from /home/daniel/QGC/qt6/qt6-install/include/QtGui/QGuiApplication:1,
                 from /home/daniel/QGC/qgroundcontrol/libs/qmlglsink/qt6/gstqt6glutility.cc:26:
/home/daniel/QGC/qt6/qt6-install/include/QtGui/qguiapplication.h:142:5: note: candidate: ‘template<class NativeInterface, class TypeInfo, class BaseType, typename std::enable_if<TypeInfo::isCompatibleWith<QGuiApplication>, bool>::type <anonymous> > NativeInterface* QGuiApplication::nativeInterface() const’
  142 |     QT_DECLARE_NATIVE_INTERFACE_ACCESSOR(QGuiApplication)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/daniel/QGC/qt6/qt6-install/include/QtGui/qguiapplication.h:142:5: note:   template argument deduction/substitution failed:
/home/daniel/QGC/qgroundcontrol/libs/qmlglsink/qt6/gstqt6glutility.cc:94:79: error: template argument 1 is invalid
   94 |     auto x11_native = app->nativeInterface<QNativeInterface::QX11Application>();
      |                                                                               ^
At global scope:
cc1plus: warning: unrecognized command line option ‘-Wno-unused-private-field’
ninja: build stopped: subcommand failed.

2. 步骤

注:/path/to/install是安装路径,请根据实际需要进行安装目录调整。

2.1 QT 编译

注:推荐使用6.6.3版本,但是笔者也试过5.15.2

  • QGC最新master(5a348d3) + QT6.6.3 ==》失败
  • QGC-Stable4.4 + QT6.6.3 ==》失败
  • QGC-Stable4.4 + QT5.15.2 ==》失败

2.1.1 下载

$ git clone git://code.qt.io/qt/qt5.git qt6

2.1.2 版本

$ cd qt6
$ git checkout 6.6.3

2.1.3 初始化

$ perl init-repository

2.1.4 配置

$ mkdir qt6-build
$ ./configure -prefix /path/to/install

2.1.5 编译

$ 
<think>嗯,用户想在Jetson Orin Nano安装CUDA,我需要根据提供的引用内容来整理步骤。首先,引用[2]提到使用sudo apt install nvidia-jetpack,而引用[3]则使用sudo apt-get install cuda-toolkit-11-4。这说明有两种安装方式:通过Jetpack自动安装或单独安装特定版本的CUDA工具包。 然后要注意的是Jetpack会自动安装CUDA、cuDNN和TensorRT,如引用[1]所述。所以用户可能不需要手动安装,但需要确认安装后的路径是否正确,比如CUDA在/usr/local/cuda下。另外,引用[3]提到安装的是CUDA 11.4,但需要确认Orin Nano是否支持该版本,可能最新Jetpack会安装更高版本。 接下来,用户可能需要环境变量配置,这在引用中没有直接提到,但通常安装后需要设置PATH和LD_LIBRARY_PATH。另外,验证安装是否成功可以通过nvcc -V或检查CUDA路径。 还有用户可能遇到的问题,比如安装后的测试或者依赖问题。比如引用[4]中提到了OpenCV安装后的Python模块问题,可能需要手动安装cv2包。虽然这和CUDA安装没有直接关系,但可能用户后续会遇到类似问题,所以可以提醒常见问题及解决方法。 最后,生成相关问题时要考虑用户接下来的需求,比如cuDNN安装、多版本CUDA管理、环境配置、性能测试等。需要确保问题与CUDA安装相关且有引用支持。</think>### Jetson Orin Nano 安装 CUDA 分步指南 #### 一、基础环境准备 1. **更新系统** 执行以下命令更新软件包列表并升级系统: ```bash sudo apt update sudo apt dist-upgrade sudo reboot ``` 引用[^2]中明确提到此步骤为后续安装的基础。 2. **安装 Jetpack 工具链** 通过以下命令安装 `nvidia-jetpack`,该工具链会自动管理CUDA、cuDNN和TensorRT的版本依赖: ```bash sudo apt install nvidia-jetpack ``` 安装完成后,CUDA默认路径为 `/usr/local/cuda`,cuDNN库文件位于 `/usr/lib/aarch64-linux-gnu`[^1]。 #### 二、手动安装特定CUDA版本(可选) 若需指定CUDA版本(如11.4),可执行: ```bash sudo apt-get install cuda-toolkit-11-4 ``` 注意:需确认版本与Jetpack兼容性[^3]。 #### 三、环境变量配置 在 `~/.bashrc` 文件末尾添加: ```bash export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH ``` 执行 `source ~/.bashrc` 使配置生效。 #### 四、验证安装 1. **检查CUDA版本** ```bash nvcc --version ``` 2. **查看CUDA路径** ```bash ls /usr/local/cuda ``` #### 五、常见问题解决 - **CUDA与cuDNN版本冲突**:通过 `jtop` 工具(需安装)检查Jetpack安装的组件版本是否匹配。 - **Python库路径问题**:若后续安装OpenCV等库时出现模块缺失,需手动编译或调整Python包路径(参考OpenCV安装示例[^4])。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值