1. 环境准备与源码下载在Jetson Orin Nano上编译Qt 5.15.3之前需要做好基础环境配置。Orin Nano搭载的是ARM64架构处理器操作系统通常为Ubuntu 20.04 LTS版本。建议先执行以下基础命令更新系统sudo apt update sudo apt upgrade -y sudo apt install build-essential git python3 -yQt源码获取有两种推荐方式。清华镜像源下载速度较快适合国内开发者wget https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/qt/5.15/5.15.3/single/qt-everywhere-opensource-src-5.15.3.tar.xz官方源则更适合需要验证完整性的场景。下载后解压时有个细节要注意Orin Nano的存储空间有限建议在外部SSD或大容量SD卡上操作tar -xvf qt-everywhere-opensource-src-5.15.3.tar.xz cd qt-everywhere-opensource-src-5.15.3 mkdir build cd build2. 关键编译配置配置阶段直接影响后续编译成功率。实测有效的配置命令如下../configure -prefix $HOME/Qt5.15.3 -opensource -confirm-license \ -release -nomake tests -nomake examples \ -skip qtandroidextras -skip qtmacextras -skip qtwinextras \ -opengl es2 -eglfs -xcb -qpa xcb几个关键参数说明-opengl es2适配Orin Nano的GPU架构-eglfs嵌入式系统显示支持-xcbX11窗口系统兼容-skip参数跳过了不必要的模块节省编译时间配置完成后建议检查输出日志确认没有报错后再开始编译。第一次编译建议使用-j4参数控制并行任务数避免内存耗尽make -j43. 典型报错解决方案3.1 assimp库未定义错误这个经典错误出现在qtquick3d模块中。解决方法不是安装assimp库而是修改pro文件nano qtquick3d/src/plugins/assetimporters/assimp/assimp.pro将原有内容替换为CONFIG link_pkgconfig PKGCONFIG assimp修改后需要清理之前编译的缓存make clean3.2 头文件缺失问题主要涉及limits等C标准库头文件。需要手动补全以下文件qtbase/src/corelib/text/qbytearraymatcher.hqtbase/src/corelib/global/qendian.hqtbase/src/corelib/global/qfloat16.h在每个文件开头添加#include limits建议使用sed命令批量处理find . -name *.h -type f | xargs grep -L #include limits | xargs sed -i 1i #include limits4. 系统部署技巧编译完成后将Qt库部署到系统目录需要注意权限问题。推荐的分步操作sudo cp -r $HOME/Qt5.15.3/lib/*.so* /usr/local/lib/ sudo ldconfig sudo cp -r $HOME/Qt5.15.3/include/* /usr/local/include/ sudo mkdir -p /usr/local/lib/qt5/plugins sudo cp -r $HOME/Qt5.15.3/plugins/* /usr/local/lib/qt5/plugins/环境变量配置建议写入~/.bashrcecho export QT_HOME/usr/local ~/.bashrc echo export LD_LIBRARY_PATH/usr/local/lib:$LD_LIBRARY_PATH ~/.bashrc source ~/.bashrc5. QGC编译专项适配QGC编译需要Qt的私有头文件这是最容易出错的部分。正确的处理方式是建立符号链接sudo ln -s $HOME/Qt5.15.3/include/QtLocation/5.15.3/QtLocation/private /usr/local/include/QtLocation/private sudo ln -s $HOME/Qt5.15.3/include/QtQuick/5.15.3/QtQuick/private /usr/local/include/QtQuick/private如果遇到qgeomaptype_p.h缺失错误检查CMakeLists.txt中的包含路径是否正确指向了Qt安装目录下的private头文件。实测有效的解决方法是修改QGC的CMake配置include_directories( ${QT_INSTALL_PREFIX}/include/QtLocation/5.15.3/QtLocation/private ${QT_INSTALL_PREFIX}/include/QtQuick/5.15.3/QtQuick/private )编译QGC时建议使用单独的构建目录并指定Qt版本路径mkdir qgc-build cd qgc-build cmake .. -DQt5_DIR$HOME/Qt5.15.3/lib/cmake/Qt5 make -j4