29

我很难在 linux 上安装 Qt。我在网站上下载了 .run 文件并安装了 Qt。但是,当我尝试使用 Qtcreator 编译默认的 Hello World 项目时,我得到以下信息:

error cannot find -lGL

我能够通过发出命令来解决问题:

sudo apt-get install libqt4-dev

但是,我对解决方案不满意,因为我想使用 Qt5 并且我下载的库的名称暗示版本 4。有人可以解释发生了什么并告诉我我的解决方案是否正确?如果没有,我应该怎么做才能在 Linux 上运行 Qt。

附加问题

LtWorf提供的正确答案是安装libgl-dev。对于此类未来的问题,有人能告诉我我应该如何猜测我必须下载这个特定的库吗?为什么最后会有一些带有-dev的库?他们提供什么?

4

5 回答 5

43

好吧,它正在尝试与 libgl 链接并且没有找到它。您应该安装libgl-dev

-l是一个链接器选项,它告诉链接器使用某个库。例如,您可能有-lmagic想要使用libmagic的意思。

通常所有的库都叫做 libsomething,在 debian 上你会发现 3 个包叫做: libsomething libsomething-dbg libsomething-dev

第一个是库,第二个是用调试符号编译的库,这样你可以更容易地理解堆栈跟踪,最后一个是开发包,它包含 .h 文件,所以你可以链接到图书馆。

于 2013-03-12T08:29:05.530 回答
7

sudo apt-get install libgl-dev

于 2014-10-14T11:26:41.850 回答
5

在 Fedora 17 上,我做了:

sudo yum install mesa-libGL-devel
于 2014-08-21T12:52:59.050 回答
1

你有安装libgl-dev吗?如果不安装它,它应该可以工作。

于 2013-03-12T08:29:19.953 回答
0

那些其他的海报是正确的,但在某些系统上,要安装的库的名称不同。我刚刚处理了一个 32bit 的 Ubuntu 14.04.5 LTS 系统,并且libgl-dev不可用。

相反,我需要通过以下方式安装libgl1-mesa-dev包:

sudo apt-get install libgl1-mesa-dev
于 2019-03-04T22:15:55.073 回答