Could NOT find OpenGL (missing: OPENGL_glx_LIBRARY) Ubuntu系统

  1. 太长不看版:

从新安装libgl1-mesa-dev库解决Could NOT find OpenGL (missing: OPENGL_glx_LIBRARY) 的问题:

sudo apt-get install --reinstall libgl1-mesa-dev

因为以前安装过libgl1-mesa-dev库 常规的 sudo apt-get install libgl1-mesa-dev不能覆盖安装,所以直接–reinstall重新安装解决了问题。

##################################################################
############################分割线################################
问题提示:CMake Error at /home/anaconda3/lib/python3.9/site-packages/cmake/data/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find OpenGL (missing: OPENGL_glx_LIBRARY)
Call Stack (most recent call first):
/home/anaconda3/lib/python3.9/site-packages/cmake/data/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
/home/anaconda3/lib/python3.9/site-packages/cmake/data/share/cmake-3.26/Modules/FindOpenGL.cmake:443 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:155 (find_package)

网上找了很多办法没有解决,弄了接近一天,问了Chatgpt和stack overflow,直到一篇文章启发了我。

首先确保OpenGL安装成功:

这个错误通常是由于你的系统缺少 OpenGL 库的某些组件而导致的。

你可以尝试以下方法来解决这个问题:

  1. 安装 OpenGL 库的开发包和依赖库


在 Ubuntu 上执行以下命令:

sudo apt-get install libgl1-mesa-dev mesa-common-dev libglu1-mesa-dev

在 CentOS/RHEL 上执行以下命令:

sudo yum install mesa-libGL-devel mesa-libGLU-devel
  1. 检查 CMake 版本


确保你的 CMake 版本是 3.0 或更高版本。你可以通过运行以下命令来检查你的 CMake 版本:

cmake --version

如果你的 CMake 版本较旧,请考虑升级到最新版本。

  1. 设置环境变量


在有些情况下,你需要设置环境变量,让 CMake 找到 OpenGL 库的位置。例如,在 Ubuntu 上,你可以运行以下命令:

export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/

或者,你可以在你的 CMakeLists.txt 文件中设置以下变量:

set(OpenGL_GL_PREFERENCE "GLVND")

希望这些方法可以帮助你解决这个问题。如果问题仍然存在,请尝试在网上寻找更多解决方案。

############################分割线################################

  1. 上诉方法我都弄过了但还是没有解决Could NOT find OpenGL (missing: OPENGL_glx_LIBRARY)
    的问题直到我输入了

sudo apt-get install --reinstall libgl1-mesa-dev

因为以前安装过libgl1-mesa-dev库 常规的 sudo apt-get install libgl1-mesa-dev不能覆盖安装,所以直接–reinstall重新安装解决了问题。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
EGL、GLX、Xegl、XGL和XGLX都与OpenGL和X Window System(X11)之间的图形渲染和窗口管理有关。这些是不同的API和扩展,用于在图形应用程序和硬件之间进行通信和协调。 1. EGL(Embedded-System Graphics Library)是一个用于嵌入式系统的图形库,它提供了一个标准的接口,使应用程序能够与底层图形驱动程序进行交互。EGL可以用于管理窗口系统和设备上下文,以及在OpenGL ES等图形API之间进行切换。 2. GLXOpenGL Extension to the X Window System)是一个在X11窗口系统上使用OpenGL的扩展。它允许应用程序使用OpenGL渲染图形,并将结果显示在X窗口中。GLX提供了与X Server的交互,以及创建和管理OpenGL上下文的功能。 3. Xegl是一种将EGL与X Window System集成的方法。它允许应用程序使用EGL进行图形渲染,并在X窗口中显示结果。这种集成可以提供更好的性能和更高的灵活性。 4. XGL是一个用于在X Window System上使用OpenGL的实现。它是一种通过将OpenGL命令转换为X协议来实现的技术,在服务器端执行OpenGL渲染。 5. XGLX(X11 Graphics Library Extension)是用于在X Window System上使用OpenGL的另一种扩展。它提供了X Server和OpenGL之间传递图形的功能,用于加速OpenGL渲染。 这些API和扩展提供了在X Window System上使用OpenGL进行图形渲染不同方法。开发人员可以根据特定的需求选择合适的API或扩展来实现他们的图形应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值