都4202年了关于如何编译QGC地面站的那些事儿

共计 2500 个字符,预计需要花费 7 分钟才能阅读完成。

前言

本主题介绍如何获取 QGroundControl 源代码,并在本机或 Vagrant 环境中构建它。它还提供有关可选功能或特定于操作系统的功能的信息。

项目地址

QGroundControl 的源代码保存在 GitHub 上,网址为:https://github.com/mavlink/qgroundcontrol。它在 Apache 2.0 和 GPLv3 下获得双重许可

要获取源文件,请执行以下操作:

  1. 克隆存储库(或分支),包括子模块:
    git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git
  2. 克隆存储库(或分支),包括子模块:
    git submodule update --recursive

    不能使用 Github 源代码 zip 文件,因为这些文件不包含相应的子模块源代码。你必须使用 git!

构建 QGroundControl

本机构建​

macOS、Linux、Windows 和 Android 支持 QGroundControl 版本。从理论上讲,创建适用于 iOS 的 QGC 版本是可行的,但不再支持作为标准版本。QGroundControl 使用 Qt 作为其跨平台支持库。

所需的Qt版本为6.6.3(仅限)。

不要使用任何其他版本的Qt!QGC已经过指定版本的Qt(6.6.3)的全面测试。存在一个很大的风险,即其他Qt版本会注入影响稳定性和安全性的错误(即使QGC编译)。

有关更多信息,请参阅:Qt 6 支持的平台列表

原生 CentOS 版本也受支持,但会单独记录(因为测试的环境不同)。

安装Qt

您必须按照如下所述安装Qt,而不是使用Linux发行版中的预构建包。

要安装Qt:

  1. 下载并运行Qt在线安装程序
    • Ubuntu的:
      • 使用以下命令将下载的文件设置为可执行文件: 。chmod +x
      • 您可能还需要安装 libxcb-cursor。
  2. 在安装程序的“选择组件”对话框中,选择:Qt 6.6.3。然后安装以下组件:
要在安装程序“选择组件”对话框中查看所有可用组件的完整列表,您可能需要选中“类别”选项卡下右列中的“存档”框,然后单击“过滤器”

在_Qt 6.6.3 下,选择:

  • 根据要为其构建的操作系统:Depending on the OS you want to build for:
    • WindowsMSVC 2019 64 位
    • MacOS操作系统:macOS
    • Linux桌面 gcc 64 位
    • 安卓: Android
  • Qt 5 Compatibility Module
  • Qt Shader Tools
  • Qt Quick 3D
  • “其他库”下,选择:
    • Qt Charts
    • Qt Connectivity
    • Qt Location (TP)
    • Qt Multimedia
    • Qt Positioning
    • Qt Sensors
    • Qt Serial Port
    • Qt Speech
  1. 安装其他软件包(特定于平台)
    • Ubuntu:'bash ./qgroundcontrol/tools/setup/install-dependencies-debian.sh 
    • Fedora: sudo dnf install speech-dispatcher SDL2-devel SDL2 systemd-devel patchelf
    • Arch Linux: pacman -Sy speech-dispatcher patchelf
    • OSX 请看
    • Android 请看
  2. 安装可选/特定于操作系统的功能
下面链接/描述了依赖于操作系统和用户安装的库的可选功能。可以通过向 qmake 指定附加值来强制启用/禁用这些功能。
  • 视频流/Gstreamer: – 请参阅视频流

使用Qt Creator进行构建

QGC 已改用 cmake 进行构建。Qmake 版本目前已弃用,最终将删除支持。目前只有自定义构建继续使用 qmake,因为它们尚未转换为 cmake。
  1. 启动Qt Creator,选择“打开项目”,然后选择CMakeLists.txt文件。
  2. “项目”部分中,选择适合您需求的套件:
    • OSX:桌面 Qt 6.6.3  64 位
[c-alert type=”info”]iOS 版本必须使用 XCode 构建。[/c-alert]
    • Ubuntu的:桌面Qt 6.6.3 GCC 64位
    • Windows:桌面Qt 6.6.3 MSVC2019 64位
    • 安卓:Android适用于armeabi-v7a的Android(GCC 4.9,Qt 6.6.3)
      • JDK11 是必需的。您可以通过查看项目设置来确认它正在使用:项目> Android(选项卡)> Android 设置>JDK 位置>>设备管理工具包

3.点击“锤子”(或“播放”)图标构建:
都4202年了关于如何编译QGC地面站的那些事儿

安装 Visual Studio 2019(仅限 Windows)Install Visual Studio 2019 (Windows only)

可以在此处找到 Windows 编译器:Visual Studio 2019 编译器(64 位)

安装时,选择使用 C++ 进行桌面开发,如下所示:

都4202年了关于如何编译QGC地面站的那些事儿

Visual Studio 仅用于获取编译器。实际上,构建QGroundControl应该使用Qt Creatorcmake完成,如下所述。

在 CLI 上使用 cmake 进行构建

用于构建默认 QGC 并在之后运行它的示例命令:

  1. 请确保您之前克隆了存储库并更新了子模块,请参阅上面的“源代码”一章并切换到存储库文件夹:
    cd qgroundcontrol
  2. 配置
    cmake -B build -G Ninja CMAKE_BUILD_TYPE=Debug
  3. 编译
    cmake --build build --config Debug
  4. 运行刚刚构建的 QGroundcontrol 二进制文件:
    ./build/QGroundControl
正文完
 0
评论(没有评论)