1

我正在尝试在带有 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 的工具包,并使用该工具包构建了项目

我在从图标和 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 是否告诉编译器使用系统默认路径中的库?我在这里想念什么?

4

1 回答 1

0

您需要先用 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

于 2013-12-07T15:07:50.713 回答