找不到-lGL 错误

我刚刚重新安装了 QtCreator,创建了新项目(Qt 申请) ,在编译之后得到了这个:

/usr/bin/ld: **cannot find -lGL**
collect2: error: ld returned 1 exit status
make: *** [untitled1] Error 1
18:07:41: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project untitled1 (kit: Desktop Qt 5.1.0 GCC 32bit)
When executing step 'Make'

(项目是空的,我没有提交任何更改)

Qt Creator 2.7.2
基于 Qt 5.1.0(32位)
Ubuntu 13.04

我如何解决这个问题?

105326 次浏览

您应该安装包“ libgl1-mesa-dev”:

sudo apt install libgl1-mesa-dev

你不需要安装任何东西。libGL已经安装了 Ubuntu,你只需要软链接它。(对 ubuntu 14.x 和15.x 进行了测试,可能适用于以后的版本)

  1. 首先找到 GL 库
  2. 然后将其链接到/usr/lib 下
  3. 如果缺少库,可以通过 libgl1-mesa-dev 包安装它

你可以这样做:

$ locate libGL
/usr/lib/i386-linux-gnu/mesa/libGL.so.1
/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10
/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0
/usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.10
/usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.10.0
/usr/lib/x86_64-linux-gnu/libGLU.so.1
/usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2.0.0
$ sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so

解决了这个问题,只是一分钟前在使用。 只需执行下面的步骤,QTCreator 就可以正常工作了。

Sudo zypper install ——类型模式 devel _ base

写道:

yum provides */libGL.so

在提供:

yum install mesa-libGL-devel mesa-libGLU-devel

GUI Qt 模块是 默认包括。如果不想在项目中使用它(例如,它是一个库或只使用 stdio) ,则需要在。专业档案。

QT -= gui

And the linker won't attempt to find lGL regardless of whether it is installed.

My case is admittedly a bit odd, since the main reason to use Qt is to create gui's. Installing the GL library is certainly not difficult, I just wanted to know why my quick and dirty Hello World wanted it.

这对我很有效:

sudo ln -s /usr/lib/libEGL1.so /usr/lib/libGL.so

我的系统是在 x86计算机上的 Ubuntu 16.04(带有 NVIDIA GeForce GPU)。

检查位于 /usr/lib/x86_64-linux-gnu中的库文件

ls -al /usr/lib/x86_64-linux-gnu/libG*

If you see the broken link, reinstall libgl1-mesa-glx

sudo apt install --reinstall libgl1-mesa-glx

再查查图书馆。

在我的情况下: 我已经安装了 QT 32位库在 Win1064位,它运行错误,我改为所有64位和 QT 创建顺利运行。