Qt:找不到 -lGL 错误
Qt: can't find -lGL error
我刚刚重新安装了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创建者2.7.2
基于Qt 5.1.0(32位)
Ubuntu 13.04
我该如何解决这个问题?
您应该安装软件包"libgl1-mesa-dev":
sudo apt install libgl1-mesa-dev
您不需要安装任何东西。libGL
已经安装在Ubuntu中,您只需要软链接即可。(针对Ubuntu 14.x和15.x进行了测试,可能适用于更高版本)
- 首先定位总账库
- 然后将其链接到/usr/lib下
- 如果库丢失,可以通过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
默认情况下包括gui Qt模块。如果你不想在项目中使用它(例如,它是一个库或只使用stdio),你需要在.pro文件中指定它。
QT -= gui
并且无论是否安装了lGL,链接器都不会尝试查找它。
我的情况确实有点奇怪,因为使用Qt的主要原因是创建gui。安装GL库当然并不困难,我只是想知道为什么我快速而肮脏的Hello World需要它。
写入:
yum provides */libGL.so
提供后:
yum install mesa-libGL-devel mesa-libGLU-devel
这对我有效:
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*
如果您看到断开的链接,请重新安装libgl1-mesa-glx
sudo apt install --reinstall libgl1-mesa-glx
并且,重新检查库。
在我的情况下:我在Win10 64位中安装了QT 32位库,但它遇到了错误,我改为所有64位,QT创建者运行顺利。
一分钟前在suse中解决了这个问题。只需执行以下步骤,QTCreator就会正常工作。
sudo zypper install——类型模式devel_basic
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 我的字符计数代码计算错误.为什么
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 如何解决Linux错误 - "cannot find -lGL"?
- Qt debian/ubuntu:无法编译,错误:找不到 -lGL
- 在 OS X 上编译lsd_slam会引发链接错误 ld:找不到 -lGL 的库
- Qt:找不到 -lGL 错误
- 编译错误:kubuntu linux中找不到-lGLU和-lGL