118

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

/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

我该如何解决这个问题?

4

8 回答 8

174

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

sudo apt install libgl1-mesa-dev
于 2013-08-29T06:15:37.413 回答
80

你不需要安装任何东西。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
于 2015-08-24T13:56:45.553 回答
3

默认情况下包含gui Qt 模块。如果您不想在项目中使用它(例如,它是一个库或仅使用 stdio),您需要在 .pro 文件中指定它。

QT -= gui

并且无论是否安装,链接器都不会尝试查找 lGL。

诚然,我的情况有点奇怪,因为使用 Qt 的主要原因是创建 gui。安装 GL 库当然不难,我只是想知道为什么我的又快又脏的 Hello World 想要它。

于 2018-12-31T04:55:36.770 回答
2

写:

yum provides */libGL.so 

提供后:

yum install mesa-libGL-devel mesa-libGLU-devel
于 2018-11-29T14:42:39.683 回答
2

这对我有用:

sudo ln -s /usr/lib/libEGL1.so /usr/lib/libGL.so
于 2019-01-12T15:29:27.327 回答
1

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

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

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

如果您看到断开的链接,请重新安装libgl1-mesa-glx

sudo apt install --reinstall libgl1-mesa-glx

并且,重新检查库。

于 2019-01-28T07:22:21.417 回答
0

在我的情况下:我在 Win10 64 位中安装了 QT 32 位库并且它遇到了错误,我更改为所有 64 位并且 QT 创建器运行顺利。

于 2020-05-16T08:23:07.037 回答
-1

一分钟前在 suse 中解决了这个问题。只需执行以下步骤,QTCreator 应该可以正常工作。

sudo zypper install --type pattern devel_basis

于 2017-12-03T20:09:04.723 回答