【发布时间】:2014-04-03 00:45:35
【问题描述】:
我的操作系统(Ubuntu 12.04)带有一个预打包的 Qt4 库和其他相关的东西。但是我想使用最新的香草Qt 5.2.1,我已经安装了它并且工作正常,假设我已经编译了依赖于Qt 的this framework。
我要做的就是将 Qt 5.2.1 库添加到 $LD_LIBRARY_PATH。我的 Qt 5.2.1 主路径是/opt/Qt5.2.1/5.2.1/gcc_64,因此我的$LD_LIBRARY_PATH 包含/opt/Qt5.2.1/5.2.1/gcc_64/lib(和/opt/Qt5.2.1/Tools/QtCreator/lib 用于qtcreator 相关的东西)
不过,最近我正在尝试编译最新的gnu octave。它是configure 脚本通过调用pkg-config 来查找Qt cflags(即-l/-I/-L 标志)。
我了解到 pkg-config 会查找适当的 .pc 文件以获取与所有编译/链接标志相关的确切信息。我的系统(Ubuntu)在/var/lib/dpkg/info/pkg-config.list 中维护了所有必需的.pc 文件位置列表。 但我在 Ubuntu 12.04 上没有任何 $PKG_CONFIG_PATH 环境变量(我不知道为什么)。
我新安装的 Qt5 在/opt/Qt5.2.1/5.2.1/gcc_64/lib/pkgconfig/ 中有一组.pc 文件。
那么,如何让 pkg-config 识别新安装的 Qt 5.2.1 中的开发库?
我知道这可以通过从 Ubuntu 存储库安装 Qt4 -dev 软件包来解决,但我不想这样做。我需要 vanilla Qt 5.2.1 用于其他目的。
注意:
- 我已将路径
/opt/Qt5.2.1/5.2.1/gcc_64/lib/pkgconfig/添加到 pkg-config.list 但 pkg-config 不会相应地更新编译标志。 - 将路径 (
/opt/Qt5.2.1/5.2.1/gcc_64/lib/pkgconfig/) 添加到$PKG_CONFIG_PATH也不起作用。
这里是 octave 配置脚本output。
【问题讨论】:
-
以下命令在您的系统中返回什么?
pkg-config --exists --print-errors "QtCore"?当你有QtGui和QtNetwork时它会返回吗?它们中的任何一个会导致错误吗? -
Package QtCore was not found in the pkg-config search path.Perhaps you should add the directory containing 'QtCore.pc'to the PKG_CONFIG_PATH environment variableNo package 'QtCore' found--QtGui和QtNetwork相同 -
我的错,我的机器里有
Qt5Core.pc、Qt5Gui.pc等。让我测试一下,把它们加到PKG_CONFIG_PATH,我会告诉你的。 -
我的回答是否解决了您的问题?八度现在可以构建吗?有人点了赞,但我不知道是不是你。
-
没有必要在你的每一个问题标题前加上一个标签——这正是“标签”字段的用途。如果你想在标题中提及主题,那很好,但不需要专门的标签前缀。
标签: linux ubuntu octave pkg-config qt5.2