【问题标题】:Installing Qt on linux, cannot find -lGL在linux上安装Qt,找不到-lGL
【发布时间】:2013-02-27 15:32:57
【问题描述】:

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

error cannot find -lGL

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

sudo apt-get install libqt4-dev

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

其他问题

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

【问题讨论】:

  • 嘿googlers,不要安装库来解决这个问题,请参阅stackoverflow.com/a/32184137/878361
  • 只从 Makefile 的 LIBS 中删除 -lGL 也适用于我。显然,我的项目在没有任何 libgl 的情况下构建。

标签: linux qt installation


【解决方案1】:

它正在尝试与 libgl 链接但没有找到它。您应该安装 libgl-dev

-l 是一个链接器选项,它告诉链接器使用某个库。 例如你可以有-lmagic 表示你想使用libmagic

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

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

【讨论】:

  • 谢谢。我会尽快将您的答案标记为答案。我在原始问题中添加了另一个问题,您可能知道答案。
  • 完成。您只需键入 apt-cache show libgl-dev 即可查看软件包的描述。
  • 谢谢。我不知道这个命令。不管怎样,我试过了,它说它是纯虚拟的。
  • 是的,但它会引入必要的真实包。
  • 虽然这个答案有效,但根本不推荐它。此外,已经安装了正确的库,只需遵循 destan 的建议
【解决方案2】:

sudo apt-get install libgl-dev

【讨论】:

    【解决方案3】:

    在 Fedora 17 上,我做到了:

    sudo yum install mesa-libGL-devel
    

    【讨论】:

      【解决方案4】:

      您是否安装了 libgl-dev?如果不安装它,它应该可以工作。

      【讨论】:

        【解决方案5】:

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

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

        sudo apt-get install libgl1-mesa-dev
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-08-26
          • 2020-03-19
          • 1970-01-01
          • 1970-01-01
          • 2011-06-16
          • 1970-01-01
          • 2018-04-22
          相关资源
          最近更新 更多