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