我刚刚重新安装了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'
( Project为空,我确实提交了任何更改)
Qt Creator 2.7.2
基于Qt 5.1.0(32位)
Ubuntu 13.04
如何解决这个问题?
答案 0 :(得分:129)
您应该安装软件包“libgl1-mesa-dev”:
sudo apt install libgl1-mesa-dev
答案 1 :(得分:56)
您不需要安装任何东西。 libGL
已经安装了Ubuntu,你只需要软链接即可。 (针对ubuntu 14.x和15.x测试,可能适用于更高版本)
以下是您可以这样做的方法:
$ 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
答案 2 :(得分:1)
写:
yum provides */libGL.so
提供后:
yum install mesa-libGL-devel mesa-libGLU-devel
答案 3 :(得分:1)
gui Qt模块是microsoft。如果您不想在项目中使用它(例如,它是一个库或仅使用stdio),则需要在.pro文件中进行指定。
QT -= gui
无论链接器是否已安装,链接器都不会尝试查找它。
我的情况确实有点奇怪,因为使用Qt的主要原因是创建gui的原因。安装GL库当然并不难,我只是想知道为什么我又快又脏的Hello World想要它。
答案 4 :(得分:1)
我的系统是X86计算机(具有NVIDIA Geforce GPU)上的Ubuntu 16.04。
检查库文件位于/usr/lib/x86_64-linux-gnu
ls -al /usr/lib/x86_64-linux-gnu/libG*
如果看到断开的链接,请重新安装libgl1-mesa-glx
sudo apt install --resintall libgl1-mesa-glx
然后,重新检查库。
答案 5 :(得分:0)
这对我有用:
next_bussiness_day('sunday')
答案 6 :(得分:0)
在我的情况下:我在Win10 64位中安装了QT 32位库,并且遇到了错误,我更改为所有64位,QT创建者运行顺利。
答案 7 :(得分:-1)
一分钟前在suse解决了这个问题。 只需执行以下步骤,QTCreator应该可以正常工作。
sudo zypper install --type pattern devel_basis