Qt 5.5.1:找不到-lGL

时间:2016-01-04 12:02:11

标签: opengl qt-creator mesa qt5.5 qtopengl

我在Qt 5.3.1上开发了一个GUI应用程序。我正在使用Qt Creator 3.1.2 (based on Qt 5.3.1)来构建我的GUI应用程序,并能够成功构建和部署我的应用程序。

我想更新我的qt创建者,为此我安装了最新的Qt Creator 3.5.1 (based on Qt 5.5.1)并提供了必要的更改,以便在这个最新的qt创建者上构建我现有的QT GUI应用程序。一切顺利,即将创建最终的可执行文件,构建终止时出现以下错误信息:

/usr/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
The process "/usr/bin/make" exited with code 2.
Error while building/deploying project test-app (kit: Desktop Qt 5.5.1 GCC 32bit)

我尝试在线搜索并发现此建议更新Mesa包! [如果是这样的话,为什么同样的应用程序在我的Qt创建者3.1.2上构建正常。我想在尝试修复更新mesa包之前了解一些细节。]

有人可以提供一些指导来解决这个问题吗?提前谢谢。

编辑: 当我在Qt 5.3.1上构建我的GUI应用程序时,下面的库链接到我的最终可执行文件:

-lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Sql -lQt5Core -lGLESv2 -lEGL -lGAL

当我在Qt 5.5.1版本上构建相同的应用程序时,下面的库链接到我的最终可执行文件:

-lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Sql -lQt5Core -lGL

我必须按照@Kyrylo Polezhaiev的建议更新mesa包以解决-lGL的问题

我在这里错过了一篇文章: 是不是来自旧版qt版本(5.3.1)的OpenGL包-lGLESv2 -lEGL -lGAL与最新qt创建者5.5.1版本上的-lGL相当?

1 个答案:

答案 0 :(得分:2)

这意味着链接器找不到名为libGL的库。 你有Mesa的开发文件(标题和库)吗?哪里? 您可以使用-L选项指定其他库路径。 你能比较链接器调用命令吗?

关于第二部分:OpenGL ES是用于嵌入式系统(如智能手机)的OpenGL的一个子集(OpenGL的“紧凑”版本)。这意味着您将应用程序切换为OpenGL的“成人”版本。 Mesa是OpenGL的开源实现。这些库是Mesa的一部分。