首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安装QT5.2.1并使pkg-config识别它

安装QT5.2.1并使pkg-config识别它
EN

Stack Overflow用户
提问于 2014-04-03 00:45:35
回答 2查看 17.7K关注 0票数 5

我的操作系统(Ubuntu12.04)附带了预先打包的Qt4库和其他相关内容。但是我想使用最新的普通Qt 5.2.1,我已经安装了它,它运行良好,假设我编译了依赖于Qt的这一框架

我要做的是将QT5.2.1库添加到$LD_LIBRARY_PATH中。我的QT5.2.1主路径是/opt/Qt5.2.1/5.2.1/gcc_64,因此我的$LD_LIBRARY_PATH包含/opt/Qt5.2.1/5.2.1/gcc_64/lib (以及与Qt创建者相关的内容的/opt/Qt5.2.1/Tools/QtCreator/lib )

但是,最近我正在尝试编译最新的gnu 八度。它的-l/-I/-L脚本通过调用pkg-config查找Qt cflags (即pkg-config标志)。

据我所知,pkg会查找适当的.pc文件,以获得与所有编译/链接标志相关的确切信息。我的系统(Ubuntu)在/var/lib/dpkg/info/pkg-config.list中维护了所有必需的/var/lib/dpkg/info/pkg-config.list文件位置的列表。但是我在Ubuntu12.04上没有任何$PKG_CONFIG_PATH 环境变量(我不知道为什么)。

我新安装的Qt5在/opt/Qt5.2.1/5.2.1/gcc_64/lib/pkgconfig/中有一组.pc文件。

那么,如何使pkg-config识别新安装的QT5.2.1 ?中的开发库?

我知道只要从Ubuntu安装Qt4 -dev软件包就可以解决这个问题,但我不想这么做。我需要香草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也不起作用。

这里是八度配置脚本输出

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-19 00:50:21

这个问题是因为Octave正在搜索QtCore.pcQtGUI.pcQtNetwork.pc,但是Qt5似乎已经将它们重命名为Qt5Core.pcQt5GUI.pcQt5Network.pc。一个解决方案是为它们创建符号链接:

代码语言:javascript
运行
复制
cd /opt/Qt5.2.1/5.2.1/gcc_64/lib/pkgconfig/
ln -s ./Qt5Core.pc ./QtCore.pc
ln -s ./Qt5GUI.pc ./QtGUI.pc
ln -s ./Qt5Network.pc ./QtNetwork.pc
cd octave_build_dir
export $PKG_CONFIG_PATH="/opt/Qt5.2.1/5.2.1/gcc_64/lib/pkgconfig/"
./configure # with fingers crossed

我不知道为什么名字变了。我想知道是否应该有某种机制将不版本放在$PKG_CONFIG_PATH中,并且更改您的首选项将更改链接以更正版本。

最后,您的config.logconfig.status将比配置的输出更有用。上述文件将具有您的配置的实际命令和输出。

票数 8
EN

Stack Overflow用户

发布于 2018-05-23 17:21:11

carandraug的答案是正确的,但我不需要对.pc文件进行符号链接(QT5.9.5)。要防止删除其他pkg-config地址,请导出PKG_CONFIG_PATH,如下所示:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/Qt5.2.1/5.2.1/gcc_64/lib/pkgconfig/

为了在启动和系统范围内执行它(不需要在每个终端会话中导出),将这些行放在“.bashrc”中的底线:

代码语言:javascript
运行
复制
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/Qt5.2.1/5.2.1/gcc_64/lib/pkgconfig/
export PKG_CONFIG_PATH
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22825771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档