You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派3编译Qt 5.15.8 LTS遇EGLFS/OpenGL配置失败及运行问题求助

问题分析与解决方案

一、编译Qt 5.15.8时EGLFS/OpenGL预条件失败的解决办法

你的问题核心是树莓派最新系统默认采用Mesa开源驱动,而旧教程可能基于Broadcom闭源驱动,导致configure阶段依赖检测不通过。按以下步骤修复:

  1. 安装完整依赖包
    先确保所有EGL、OpenGL ES、XCB相关的开发包都已安装:

    sudo apt-get update && sudo apt-get install libegl1-mesa-dev libgles2-mesa-dev libxcb1-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libfontconfig1-dev libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb-shm0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev
    
  2. 调整configure参数
    树莓派3仅支持OpenGL ES 2.0/3.0,不能直接用-opengl(对应桌面OpenGL),同时指定正确的设备参数,示例本地编译参数:

    ./configure -release -opengl es2 -device linux-rpi3-g++ -prefix /usr/local/qt5.15.8 -opensource -confirm-license -skip qtwebengine -nomake examples -nomake tests -eglfs
    

    说明:

    • -opengl es2:指定使用OpenGL ES 2.0,适配树莓派硬件
    • -device linux-rpi3-g++:明确树莓派3的设备配置,帮助configure正确检测依赖
    • 若之前交叉编译过,需先清理旧配置:make distclean再重新configure
  3. 解决XCB插件缺失问题
    安装上述XCB依赖包后,configure会自动启用XCB支持,无需额外参数。编译完成后,XCB插件会生成在/usr/local/qt5.15.8/plugins/platforms/目录下,运行程序时系统会自动识别。

二、直接使用系统默认Qt库的方案(避免40小时编译)

完全可以用系统预装的Qt 5.15.2库开发,步骤如下:

  1. 安装开发包
    系统默认仅安装运行时库,需补充开发依赖:

    sudo apt-get install qtbase5-dev qtbase5-dev-tools qt5-qmake libqt5gui5 libqt5widgets5 libqt5core5a
    

    若用到QML、网络等其他模块,按需安装对应开发包,例如:

    sudo apt-get install qtdeclarative5-dev qtnetwork5-dev
    
  2. 在VSCode中配置CMake
    在CMakeLists.txt中添加Qt模块查找和链接逻辑,示例:

    cmake_minimum_required(VERSION 3.16)
    project(YourAppName)
    
    set(CMAKE_CXX_STANDARD 17)
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    
    # 查找Qt模块
    find_package(Qt5 REQUIRED COMPONENTS Core Widgets Gui)
    
    # 自动生成MOC/UI/RCC文件
    set(CMAKE_AUTOMOC ON)
    set(CMAKE_AUTOUIC ON)
    set(CMAKE_AUTORCC ON)
    
    # 添加源文件
    add_executable(YourAppName main.cpp mainwindow.cpp)
    
    # 链接Qt库
    target_link_libraries(YourAppName Qt5::Core Qt5::Widgets Qt5::Gui)
    
  3. 运行程序

    • 若树莓派接了官方屏幕且未启动桌面环境,运行时指定EGLFS后端:
      ./YourAppName -platform eglfs
      
    • 若启动了桌面环境,直接运行即可(自动使用XCB后端)

三、额外注意事项

  • 检查树莓派显示配置:确保/boot/config.txt中已启用dtoverlay=vc4-kms-v3d(默认最新系统已开启),这是Mesa驱动正常工作的前提
  • 版本兼容说明:5.15.2和5.15.8同属LTS分支,API高度兼容,仅存在少量bug修复差异,绝大多数项目可直接替换
  • 编译错误排查:若configure仍失败,查看config.log文件,里面会详细记录哪个依赖未找到,针对性安装即可

内容的提问来源于stack exchange,提问作者lightshadown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 23:17:14