Qt AFSim雷达显控终端飞腾D3000适配教程

Qt AFSim雷达显控终端飞腾D3000适配教程

目录

  1. 平台概述
  2. 环境准备
  3. 依赖库安装
  4. CMake配置修改
  5. 编译构建
  6. 运行时配置
  7. 常见问题与解决方案
  8. 性能优化建议

平台概述




飞腾D3000处理器特性

  • 架构: ARM64 (aarch64)
  • 指令集: ARMv8-A
  • 典型操作系统: 银河麒麟桌面操作系统V10 (UKUI桌面环境)
  • 内核版本: Linux 5.4.x (如 5.4.18-110-generic)

项目适配要点

本项目是基于Qt5的C++雷达显控终端,包含以下核心模块:

  • cic - 主应用程序
  • radarmap - 雷达地图库(依赖QGIS)
  • situation - 态势处理库(依赖Fast DDS)

适配飞腾D3000需要:

  1. 使用ARM64架构的Qt5库
  2. 使用ARM64架构的QGIS库
  3. 使用ARM64架构的Fast DDS库
  4. 修改CMake配置以支持Linux/ARM64平台
  5. 调整运行时路径配置

环境准备

1. 操作系统要求

  • 操作系统: 银河麒麟桌面操作系统V10 (SP1) 或更高版本
  • 桌面环境: UKUI
  • 系统架构: aarch64

2. 开发工具链安装

bash 复制代码
# 更新系统包管理器
sudo apt update

# 安装基础开发工具
sudo apt install -y build-essential cmake ninja-build git

# 验证CMake版本(需要3.16+)
cmake --version

# 验证编译器
gcc --version
g++ --version

3. Qt5安装

方法一:使用系统包管理器安装(推荐)
bash 复制代码
# 安装Qt5开发库
sudo apt install -y qtbase5-dev qtbase5-dev-tools \
    qttools5-dev qttools5-dev-tools \
    libqt5opengl5-dev libqt5xml5-dev

# 验证Qt5安装
qmake --version
方法二:从Qt官方安装器安装
  1. 下载Qt5安装器(支持ARM64)
  2. 安装Qt5.12或更高版本
  3. 选择以下组件:
    • Qt 5.12.x / Qt 5.15.x
    • Qt Charts
    • Qt OpenGL
    • Qt XML

设置环境变量:

bash 复制代码
export Qt5_DIR=/opt/Qt5.15.2/5.15.2/gcc_64/lib/cmake/Qt5
export PATH=/opt/Qt5.15.2/5.15.2/gcc_64/bin:$PATH

依赖库安装

1. QGIS安装

方法一:从银河麒麟软件仓库安装
bash 复制代码
# 添加QGIS仓库(如果可用)
sudo apt install -y qgis qgis-dev

# 验证QGIS安装
qgis --version
方法二:从源码编译QGIS(ARM64)

如果系统仓库没有QGIS,需要从源码编译:

bash 复制代码
# 安装QGIS依赖
sudo apt install -y \
    libqgis-dev libqgis-core libqgis-gui \
    libgdal-dev libproj-dev libgeos-dev \
    libspatialindex-dev libsqlite3-dev

# 设置QGIS路径环境变量
export QGIS_PREFIX_PATH=/usr
export QGIS_PLUGINPATH=/usr/lib/qgis/plugins

2. Fast DDS安装

从源码编译Fast DDS(ARM64)
bash 复制代码
# 安装Fast DDS依赖
sudo apt install -y \
    libasio-dev libtinyxml2-dev \
    libssl-dev libp11-dev

# 下载Fast DDS源码
cd /tmp
git clone https://github.com/eProsima/Fast-DDS.git
cd Fast-DDS

# 编译安装
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release \
         -DCMAKE_INSTALL_PREFIX=/usr/local
make -j$(nproc)
sudo make install

# 设置环境变量
export FASTRTPSHOME=/usr/local
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

3. 其他依赖库

bash 复制代码
# 安装项目所需的其他依赖
sudo apt install -y \
    libgl1-mesa-dev libglu1-mesa-dev \
    libx11-dev libxext-dev libxrender-dev \
    libfontconfig1-dev libfreetype6-dev

CMake配置修改

1. 修改根目录CMakeLists.txt

在项目根目录的 CMakeLists.txt 中,需要添加Linux/ARM64平台支持:

cmake 复制代码
cmake_minimum_required(VERSION 3.16)
project(diting VERSION 0.1 LANGUAGES CXX)

# 设置C++标准
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 设置默认构建类型为Release
if(NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE Release)
    message(STATUS "Setting default build type to Release")
endif()

# 平台特定配置
if(MSVC)
    add_compile_options(/utf-8)
    add_compile_options(/W0)
    add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING)
    add_compile_definitions(_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS)
    add_compile_options(/wd4819 /wd4996 /wd4244)
elseif(UNIX)
    # Linux平台配置
    add_compile_options(-Wall -Wextra)
    # ARM64特定优化
    if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64")
        add_compile_options(-march=armv8-a)
        message(STATUS "Building for ARM64 architecture")
    endif()
endif()

# 设置并行构建
if(NOT CMAKE_BUILD_PARALLEL_LEVEL)
    include(ProcessorCount)
    ProcessorCount(NUM_PROCESSORS)
    if(NUM_PROCESSORS EQUAL 0)
        set(CMAKE_BUILD_PARALLEL_LEVEL 8)
    else()
        set(CMAKE_BUILD_PARALLEL_LEVEL ${NUM_PROCESSORS})
    endif()
    message(STATUS "Setting parallel build level to ${CMAKE_BUILD_PARALLEL_LEVEL}")
endif()

# Qt5路径配置(Linux)
if(UNIX)
    # 优先使用系统安装的Qt5
    find_package(Qt5 QUIET COMPONENTS Core)
    if(Qt5_FOUND)
        message(STATUS "Using system Qt5 installation")
    else()
        # 尝试自定义路径
        set(QT5_BASE_PATH "$ENV{Qt5_DIR}")
        if(EXISTS "${QT5_BASE_PATH}")
            list(APPEND CMAKE_PREFIX_PATH "${QT5_BASE_PATH}")
        endif()
    endif()
endif()

# Windows特定配置(保留原有逻辑)
if(WIN32)
    set(OSGEO4W_ROOT_DIR "$ENV{OSGeo4W_ROOT}")
    if(NOT OSGEO4W_ROOT_DIR OR OSGEO4W_ROOT_DIR STREQUAL "")
        set(OSGEO4W_ROOT_DIR "C:/OSGeo4W")
    endif()
    # ... Windows配置 ...
endif()

# 输出目录设置
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)

add_subdirectory(situation)
add_subdirectory(radarmap)
add_subdirectory(cic)

2. 修改cic/CMakeLists.txt

cmake 复制代码
cmake_minimum_required(VERSION 3.16)
project(cic VERSION 0.1 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

# 平台特定编译选项
if(MSVC)
    add_compile_options(/utf-8)
    target_link_options(${PROJECT_NAME} PRIVATE /MANIFEST:NO)
    target_link_options(${PROJECT_NAME} PRIVATE
        $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:/INCREMENTAL>
        $<$<CONFIG:Release>:/DEBUG:NONE>
    )
endif()

find_package(Qt5 REQUIRED COMPONENTS Widgets OpenGL)

file(GLOB_RECURSE SOURCES *.cpp *.h *.ui *.qrc)

add_executable(${PROJECT_NAME} ${SOURCES})

# Linux平台不需要WIN32_EXECUTABLE
if(WIN32)
    set_target_properties(${PROJECT_NAME} PROPERTIES
        WIN32_EXECUTABLE TRUE
    )
endif()

target_include_directories(${PROJECT_NAME} PRIVATE
    ${CMAKE_CURRENT_SOURCE_DIR}
    ${CMAKE_SOURCE_DIR}/radarmap/source/common
    ${CMAKE_SOURCE_DIR}/situation/include
)

target_include_directories(${PROJECT_NAME} PUBLIC
    ${CMAKE_SOURCE_DIR}/include
)

target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Widgets Qt5::OpenGL radarmap situation)

# Windows特定的运行时依赖打包(保留原有逻辑)
if(WIN32 AND BUNDLE_RUNTIME)
    # ... Windows依赖复制逻辑 ...
endif()

# Linux平台运行时依赖处理
if(UNIX)
    # 设置RPATH,确保运行时能找到依赖库
    set_target_properties(${PROJECT_NAME} PROPERTIES
        INSTALL_RPATH_USE_LINK_PATH TRUE
        BUILD_WITH_INSTALL_RPATH TRUE
    )
    
    # 可选:安装规则
    install(TARGETS ${PROJECT_NAME}
        RUNTIME DESTINATION bin
        LIBRARY DESTINATION lib
    )
endif()

3. 修改radarmap/CMakeLists.txt

cmake 复制代码
project(radarmap VERSION 0.1 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

# 平台特定的模块路径
if(MSVC)
    add_compile_options(/utf-8)
    list(APPEND CMAKE_MODULE_PATH $ENV{OSGeo4W_ROOT}/apps/qgis)
elseif(UNIX)
    # Linux平台QGIS查找路径
    list(APPEND CMAKE_MODULE_PATH 
        "/usr/share/qgis"
        "/usr/lib/cmake/qgis"
        "$ENV{QGIS_PREFIX_PATH}/share/cmake"
    )
endif()

find_package(Qt5 REQUIRED COMPONENTS Widgets Xml)
find_package(QGIS REQUIRED)

file(GLOB_RECURSE SOURCES *.cpp *.h *.ui *.qrc)

add_library(${PROJECT_NAME} SHARED ${SOURCES})

target_include_directories(${PROJECT_NAME}
    PUBLIC
        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
        $<INSTALL_INTERFACE:include>
        ${QGIS_INCLUDE_DIR}
        ${CMAKE_SOURCE_DIR}/situation/include
    PRIVATE
        ${CMAKE_CURRENT_SOURCE_DIR}/source
        ${CMAKE_CURRENT_SOURCE_DIR}/source/common
        ${CMAKE_CURRENT_SOURCE_DIR}/source/graphicsitems
        ${CMAKE_CURRENT_SOURCE_DIR}/source/qgsmap
)

target_compile_definitions(${PROJECT_NAME} PRIVATE RADAR_LIBRARY)
target_compile_definitions(${PROJECT_NAME} PUBLIC _USE_MATH_DEFINES)

target_link_libraries(${PROJECT_NAME} PUBLIC
    Qt5::Widgets
    Qt5::Xml
    ${QGIS_CORE_LIBRARY}
    ${QGIS_GUI_LIBRARY}
    situation
)

set_target_properties(radarmap PROPERTIES
    RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
)

# Linux平台RPATH设置
if(UNIX)
    set_target_properties(${PROJECT_NAME} PROPERTIES
        INSTALL_RPATH_USE_LINK_PATH TRUE
        BUILD_WITH_INSTALL_RPATH TRUE
    )
endif()

4. 修改situation/CMakeLists.txt

cmake 复制代码
cmake_minimum_required(VERSION 3.16)
project(situation LANGUAGES CXX)

set(CMAKE_AUTOMOC ON)

# Fast DDS路径配置
if(UNIX)
    # Linux平台Fast DDS路径
    list(APPEND CMAKE_PREFIX_PATH
        $ENV{FASTRTPSHOME}
        $ENV{FASTRTPSHOME}/lib
        $ENV{FASTRTPSHOME}/lib/cmake
        $ENV{FASTRTPSHOME}/cmake
        /usr/local
        /usr/local/lib/cmake
    )
endif()

find_package(Qt5 REQUIRED COMPONENTS Core)
find_package(fastcdr QUIET)
find_package(fastrtps QUIET)

file(GLOB_RECURSE SOURCES *.cpp *.h *.cxx)

add_library(${PROJECT_NAME} SHARED ${SOURCES})

target_include_directories(${PROJECT_NAME}
    PUBLIC
    ${CMAKE_CURRENT_SOURCE_DIR}/dds
    ${CMAKE_CURRENT_SOURCE_DIR}/include
    ${CMAKE_CURRENT_SOURCE_DIR}/source
)

target_compile_definitions(${PROJECT_NAME} PRIVATE SITUATION_LIBRARY)

target_link_libraries(${PROJECT_NAME}
    PUBLIC
    Qt5::Core
)

# Link Fast DDS runtime libs if found
if(fastrtps_FOUND)
    target_link_libraries(${PROJECT_NAME} PRIVATE fastrtps)
    message(STATUS "Fast DDS found and linked")
else()
    message(WARNING "Fast DDS not found, some features may not work")
endif()

if(fastcdr_FOUND)
    target_link_libraries(${PROJECT_NAME} PRIVATE fastcdr)
endif()

# Linux平台RPATH设置
if(UNIX)
    set_target_properties(${PROJECT_NAME} PROPERTIES
        INSTALL_RPATH_USE_LINK_PATH TRUE
        BUILD_WITH_INSTALL_RPATH TRUE
    )
endif()

5. 修改cic/main.cpp

需要修改QGIS初始化逻辑以支持Linux平台:

cpp 复制代码
int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling, false);
    QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps, false);
    QApplication a(argc, argv);

#ifdef Q_OS_WIN
    // Windows平台QGIS初始化
    const QString appDir = QCoreApplication::applicationDirPath();
    const QString qgisPrefix = appDir + "/qgis";
    const QString projLib = appDir + "/share/proj";
    const QString gdalData = appDir + "/share/gdal";
    QgsApplication::setPrefixPath(qgisPrefix, true);
    qputenv("QGIS_PREFIX_PATH", qgisPrefix.toUtf8());
    qputenv("QGIS_PLUGINPATH", (qgisPrefix + "/plugins").toUtf8());
    qputenv("PROJ_LIB", projLib.toUtf8());
    qputenv("GDAL_DATA", gdalData.toUtf8());
    QgsApplication::initQgis();
#elif defined(Q_OS_LINUX)
    // Linux平台QGIS初始化
    // 优先使用环境变量,否则使用系统默认路径
    QString qgisPrefix = qgetenv("QGIS_PREFIX_PATH");
    if (qgisPrefix.isEmpty()) {
        qgisPrefix = "/usr";  // 系统默认安装路径
    }
    
    QString pluginPath = qgetenv("QGIS_PLUGINPATH");
    if (pluginPath.isEmpty()) {
        pluginPath = qgisPrefix + "/lib/qgis/plugins";
    }
    
    QString projLib = qgetenv("PROJ_LIB");
    if (projLib.isEmpty()) {
        projLib = "/usr/share/proj";
    }
    
    QString gdalData = qgetenv("GDAL_DATA");
    if (gdalData.isEmpty()) {
        gdalData = "/usr/share/gdal";
    }
    
    QgsApplication::setPrefixPath(qgisPrefix, true);
    qputenv("QGIS_PREFIX_PATH", qgisPrefix.toUtf8());
    qputenv("QGIS_PLUGINPATH", pluginPath.toUtf8());
    qputenv("PROJ_LIB", projLib.toUtf8());
    qputenv("GDAL_DATA", gdalData.toUtf8());
    QgsApplication::initQgis();
#endif

    // ... 其余代码保持不变 ...
}

编译构建

1. 配置构建环境

创建构建脚本 build_ft_d3000.sh

bash 复制代码
#!/bin/bash

# 飞腾D3000构建脚本

# 设置环境变量
export Qt5_DIR=/usr/lib/aarch64-linux-gnu/cmake/Qt5
export QGIS_PREFIX_PATH=/usr
export QGIS_PLUGINPATH=/usr/lib/qgis/plugins
export PROJ_LIB=/usr/share/proj
export GDAL_DATA=/usr/share/gdal
export FASTRTPSHOME=/usr/local
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

# 创建构建目录
mkdir -p build-ft-d3000
cd build-ft-d3000

# 配置CMake
cmake .. \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_C_COMPILER=gcc \
    -DCMAKE_CXX_COMPILER=g++ \
    -G Ninja

# 编译
ninja -j$(nproc)

echo "构建完成!可执行文件位于: build-ft-d3000/bin/cic"

2. 执行构建

bash 复制代码
# 赋予执行权限
chmod +x build_ft_d3000.sh

# 执行构建
./build_ft_d3000.sh

3. 验证构建结果

bash 复制代码
# 检查可执行文件
file build-ft-d3000/bin/cic

# 应该显示: ELF 64-bit LSB executable, ARM aarch64

# 检查依赖库
ldd build-ft-d3000/bin/cic

运行时配置

1. 设置运行时环境变量

创建启动脚本 run_cic.sh

bash 复制代码
#!/bin/bash

# 设置QGIS环境变量
export QGIS_PREFIX_PATH=/usr
export QGIS_PLUGINPATH=/usr/lib/qgis/plugins
export PROJ_LIB=/usr/share/proj
export GDAL_DATA=/usr/share/gdal

# 设置Fast DDS环境变量
export FASTRTPSHOME=/usr/local
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

# 设置Qt插件路径
export QT_PLUGIN_PATH=/usr/lib/aarch64-linux-gnu/qt5/plugins

# 运行程序
cd "$(dirname "$0")"
./bin/cic "$@"

2. 创建桌面快捷方式

创建 AFSim雷达显控端.desktop

ini 复制代码
[Desktop Entry]
Version=1.0
Type=Application
Name=AFSim雷达显控端
Comment=AFSim雷达显控终端
Exec=/path/to/your/app/run_cic.sh
Icon=/path/to/your/app/icon.png
Terminal=false
Categories=Application;Utility;

3. 系统服务配置(可选)

如果需要作为系统服务运行,创建systemd服务文件 /etc/systemd/system/afsim-cic.service

ini 复制代码
[Unit]
Description=AFSim Radar Control Terminal
After=network.target

[Service]
Type=simple
User=your_username
Environment="QGIS_PREFIX_PATH=/usr"
Environment="QGIS_PLUGINPATH=/usr/lib/qgis/plugins"
Environment="PROJ_LIB=/usr/share/proj"
Environment="GDAL_DATA=/usr/share/gdal"
Environment="FASTRTPSHOME=/usr/local"
Environment="LD_LIBRARY_PATH=/usr/local/lib"
ExecStart=/path/to/your/app/bin/cic
Restart=on-failure

[Install]
WantedBy=multi-user.target

常见问题与解决方案

1. Qt5找不到

问题: CMake配置时提示找不到Qt5

解决方案:

bash 复制代码
# 检查Qt5安装
dpkg -l | grep qt5

# 手动指定Qt5路径
cmake .. -DQt5_DIR=/usr/lib/aarch64-linux-gnu/cmake/Qt5

2. QGIS库找不到

问题: 链接时提示找不到QGIS库

解决方案:

bash 复制代码
# 安装QGIS开发包
sudo apt install -y libqgis-dev

# 检查QGIS库位置
find /usr -name "libqgis*.so" 2>/dev/null

# 设置环境变量
export QGIS_INCLUDE_DIR=/usr/include/qgis
export QGIS_LIBRARY_DIR=/usr/lib

3. Fast DDS链接错误

问题: 找不到fastrtps或fastcdr库

解决方案:

bash 复制代码
# 检查Fast DDS安装
ls -la /usr/local/lib/libfastrtps*
ls -la /usr/local/lib/libfastcdr*

# 更新动态链接库缓存
sudo ldconfig

# 设置环境变量
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

4. 运行时缺少共享库

问题: 运行时提示找不到.so文件

解决方案:

bash 复制代码
# 查看程序依赖
ldd bin/cic

# 将缺失的库路径添加到LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH

# 或者创建符号链接
sudo ln -s /path/to/library.so /usr/lib/
sudo ldconfig

5. OpenGL相关错误

问题: OpenGL上下文创建失败

解决方案:

bash 复制代码
# 安装Mesa驱动
sudo apt install -y mesa-utils libgl1-mesa-glx libglu1-mesa

# 检查OpenGL支持
glxinfo | grep "OpenGL version"

# 如果是远程桌面,可能需要设置
export DISPLAY=:0

6. 字体显示问题

问题: 中文或特殊字符显示异常

解决方案:

bash 复制代码
# 安装中文字体
sudo apt install -y fonts-wqy-microhei fonts-wqy-zenhei

# 设置字体环境变量
export QT_QPA_FONTDIR=/usr/share/fonts

7. 性能问题

问题: 程序运行缓慢

解决方案:

  • 检查是否使用了Release构建
  • 启用编译器优化选项
  • 检查系统资源使用情况
  • 考虑使用硬件加速(如果支持)

性能优化建议

1. 编译优化

在CMakeLists.txt中添加优化选项:

cmake 复制代码
if(CMAKE_BUILD_TYPE STREQUAL "Release")
    add_compile_options(-O3 -march=native)
    add_link_options(-O3)
endif()

2. 运行时优化

  • 使用SSD存储提高I/O性能
  • 确保有足够的内存(建议32GB+)
  • 关闭不必要的后台服务
  • 使用性能模式(而非省电模式)

3. Qt优化

cpp 复制代码
// 在main.cpp中
QApplication::setAttribute(Qt::AA_UseDesktopOpenGL);  // 使用桌面OpenGL
QApplication::setAttribute(Qt::AA_ShareOpenGLContexts); // 共享OpenGL上下文

4. QGIS优化

cpp 复制代码
// 设置QGIS渲染选项
QgsSettings().setValue("/qgis/enable_render_caching", true);
QgsSettings().setValue("/qgis/max_threads", QThread::idealThreadCount());

验证清单

  • Qt5成功安装并可在CMake中找到
  • QGIS库成功链接
  • Fast DDS库成功链接
  • 项目成功编译(无错误)
  • 可执行文件为ARM64架构
  • 所有依赖库都能正确加载
  • 程序可以正常启动
  • 地图显示功能正常
  • DDS通信功能正常
  • 界面显示正常(字体、图标等)
  • 性能满足要求

附录

A. 环境变量汇总

bash 复制代码
# Qt5
export Qt5_DIR=/usr/lib/aarch64-linux-gnu/cmake/Qt5
export QT_PLUGIN_PATH=/usr/lib/aarch64-linux-gnu/qt5/plugins

# QGIS
export QGIS_PREFIX_PATH=/usr
export QGIS_PLUGINPATH=/usr/lib/qgis/plugins
export PROJ_LIB=/usr/share/proj
export GDAL_DATA=/usr/share/gdal

# Fast DDS
export FASTRTPSHOME=/usr/local
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

# 字体
export QT_QPA_FONTDIR=/usr/share/fonts

B. 常用命令

bash 复制代码
# 查看系统架构
uname -m  # 应显示: aarch64

# 查看Qt版本
qmake --version

# 查看QGIS版本
qgis --version

# 查看已安装的包
dpkg -l | grep -E "qt5|qgis|fast"

# 清理构建
rm -rf build-ft-d3000

# 重新构建
./build_ft_d3000.sh

C. 参考资源


Group

1062801117

相关推荐
雨田哥3 小时前
Qt AFSim雷达显控端-战术显示面板
qt雷达·qt仿真·qt地图·qt afsim·qt雷达显控·qt战术显示面板·qt模拟
雨田哥13 小时前
Qt AFSim雷达探测显示
qt·afsim·qt雷达·qt仿真·雷达显控端·qt雷达模拟器