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

Ubuntu下CMake编译Qt程序报错Qt5::Gui依赖的libEGL.so存在但找不到

问题排查与解决方法

基础排查步骤

  • 首先确认系统中libEGL.so的实际存在路径,执行命令:
    find /usr -name "libEGL.so*"
    检查输出结果,确认文件是否存在、是否位于/usr/lib/x86_64-linux-gnu/目录下,排除架构不匹配、安装路径异常的问题。
  • 重装EGL相关开发依赖包,修复可能的软链接异常:
    sudo apt reinstall libegl1-mesa-dev libglvnd-dev
    开发包重装过程会自动重建默认路径下的.so软链接,覆盖可能损坏的旧链接。
  • 清空CMake缓存后重新配置,避免旧缓存的错误路径残留:
    rm -rf build
    mkdir build && cd build
    cmake ..
    

针对性解决方案

情况1:libEGL.so存在但路径不匹配

如果第一步查到libEGL.so存在于其他路径,可二选一处理:

  • 手动创建默认路径软链接,示例如下(将路径替换为你实际查到的libEGL.so版本路径):
    sudo ln -s /usr/lib/x86_64-linux-gnu/libEGL.so.1 /usr/lib/x86_64-linux-gnu/libEGL.so
  • 在CMakeLists.txt的find_package行之前添加指定EGL库路径的配置:
    set(EGL_LIBRARY /你的实际路径/libEGL.so)

情况2:使用NVIDIA闭源驱动

该场景下libEGL.so会被NVIDIA驱动接管,安装对应EGL配套包即可修复:
sudo apt install nvidia-egl-common

CMakeLists.txt优化建议

你现有配置中target_link_libraries的Private关键字需要改为全大写的PRIVATE,避免部分CMake版本识别关键字异常引发关联错误,修改后代码如下:

target_link_libraries(LinuxProject1 PRIVATE Qt5::Widgets)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:54:04