Ubuntu 16.04 安装 QT Create 5.3.1 (qt-opensource-linux-x86-5.3.1.run)后新建一个 QT Quick 的工程。直接编译,出现如下错误的提示:
qt cannot find lgl
刚开始按网上的方法,需要修改依赖库的版本,但依赖是一层接着一层,唉......
最后找到如下的解决方法(参考如下链接: http://blog.csdn.net/u012175418/article/details/52078291):
[email protected]:~$ locate libGL
/usr/lib/i386-linux-gnu/libGLEW.so.1.13 /usr/lib/i386-linux-gnu/libGLEW.so.1.13.0 /usr/lib/i386-linux-gnu/libGLEWmx.so.1.13 /usr/lib/i386-linux-gnu/libGLEWmx.so.1.13.0 /usr/lib/i386-linux-gnu/libGLU.so.1 /usr/lib/i386-linux-gnu/libGLU.so.1.3.1 /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0
[email protected]:~$ ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so
ln: failed to create symbolic link ‘/usr/lib/libGL.so‘: Permission denied
[email protected]:~$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so
没有失败的提示,说明成功了!重新打开 QT Create,编译成功。
如果在代码中加入其它 Qt 模块,如: include <QtGui>/<QtWidgets> 等,将会出现新问题:找不到 GL/gl.h 文件。
通过追踪错误来源,发现在 QtGui 模块的头文件中有包含 GL/gl.h 的部分,此时在 include <QtGui>/<QtWidgets> 等命令前加上: #define QT_NO_OPENGL,则可解决问题。
或者在命令窗运行: sudo apt-get install mesa-common-dev
时间: 2024-10-02 05:01:53