Qt5 Linux 找不到 Qt 库

Posted

技术标签:

【中文标题】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

【讨论】:

以上是关于Qt5 Linux 找不到 Qt 库的主要内容,如果未能解决你的问题,请参考以下文章

在 Linux 上从源代码构建的 Qt5 上找不到 Qt 平台插件 xcb

/usr/bin/ld: 在 Linux Mint 上的 Qt Creator 中构建 Qt5 应用程序时找不到 lGL

由于找不到qt5webenginecore.dll无法继续执

由于找不到qt5gui.dll,无法继续执行代码有影响吗

在 Qt5.4.1 中找不到类型 qintptr

Qt5 - Windows:Windows 找不到可执行文件