Qt编译遇到 /usr/bin/ld: cannot find -lGL问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt编译遇到 /usr/bin/ld: cannot find -lGL问题相关的知识,希望对你有一定的参考价值。

参考技术A

缺少依赖,linux 下的坑,你试一下:

sudo apt-get install libgl1-mesa-dev

本回答被提问者采纳

Qt5 Linux 找不到 Qt 库

【中文标题】Qt5 Linux 找不到 Qt 库【英文标题】:Qt5 Linux cannot find Qt libraries 【发布时间】:2013-06-14 11:07:29 【问题描述】:

我正在尝试在带有 Clang 的 Ubuntu 12.04 上使用 QT5.1 Beta 编译现有的 QT 库。 该项目在 QT4.8.4 下编译良好。

我在使用 QT5.1 Beta 编译项目时收到以下链接器错误。

/usr/bin/ld: cannot find -lQt5OpenGL
/usr/bin/ld: cannot find -lQt5Widgets
/usr/bin/ld: cannot find -lQt5Network
/usr/bin/ld: cannot find -lQt5Gui
/usr/bin/ld: cannot find -lQt5Core

我目前的系统设置如下:

在我的主目录中安装了 QT5.1 Beta 的 64 位 linux 预构建包 将 Qt5.1 qmake bin 目录添加到 PATH 环境变量中 将 QT5.1 lib 目录添加到 LD_LIBRARY_PATH 已安装 Clang 3.3 和 libc++ 在 QT Creator 中添加了一个带有 QT5.1 和 Clang 的工具包,并使用该工具包构建了项目

我在从 icon 和 bash 启动 qtcreator 时都遇到错误。

之前使用这个 ubuntu 系统的开发者使用 apt-get 安装了 QT4。 我认为 QT4 已安装在默认操作系统目录中,并且在我构建项目时总是选择 QT4 而不是 QT5。我删除了 /usr/** 路径下的 QT4 包

当构建失败时,我在 qtcreator 的编译器输出窗口中看到以下命令正在执行。

clang++  debug/moc-xxx.o -L -L/home/user/Qt5.1.0/5.1.0-beta1/gcc_64/lib -lQ5OpenGL -lQt5Widgets -lQt5Network -lQt5Gui -lGL -lpthread

没有路径的 -L 是否告诉编译器使用系统默认路径中的库? 我在这里错过了什么?

【问题讨论】:

【参考方案1】:

您需要先用 Clang 编译 Qt(Clang-3.2 示例): http://libre.tibirna.org/projects/qgit/wiki/Compile_Qt5_with_clang

因为预先构建的 Linux Qt 库适用于 gcc。

构建 Qt 后,您可以为 Qt Creator 配置套件: http://libre.tibirna.org/projects/qgit/wiki/Compile_QGit_with_Qt5_and_clang

【讨论】:

以上是关于Qt编译遇到 /usr/bin/ld: cannot find -lGL问题的主要内容,如果未能解决你的问题,请参考以下文章

Sublime报错/bin/sh: node: command not found

Qt中的编译错误

docker容器找不到usr/bin目录

QT C++新手问题:collect2:ld returned 1 exit status

#!/usr/bin/env python与#!/usr/bin/python的区别

ubuntu /usr/bin/sudo: Permission denied