安装Qt 5.2.1并使pkg-config识别它

ram*_*rur 3 linux ubuntu pkg-config octave qt5.2

我的操作系统(Ubuntu 12.04)附带预先打包的Qt4库和其他相关内容.但我想使用最新的香草Qt 5.2.1,我已经安装它并且它工作正常,假设我编译了这个依赖于Qt的框架.

我要做的是将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/libqtcreator相关的东西)

但是,最近我正在尝试编译最新的gnu 八度音阶.它的configure脚本通过调用来查找Qt cflags(即-l/ -I/ -Lflags)pkg-config.

我知道pkg-config查找相应的.pc文件以获取与所有编译/链接标志相关的确切信息.我的系统(Ubuntu)维护一个包含所有必需.pc文件位置的列表/var/lib/dpkg/info/pkg-config.list.但我$PKG_CONFIG_PATH在Ubuntu 12.04上没有任何环境变量(我不知道为什么).

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

那么,如何让pkg-config识别新安装的Qt 5.2.1中的开发库?

我知道这可以通过-dev从Ubuntu repo 安装Qt4 软件包来解决,但我不想那样做.我需要香草Qt 5.2.1用于其他目的.

注意:

  • 我已经添加了/opt/Qt5.2.1/5.2.1/gcc_64/lib/pkgconfig/pkg-config.list 的路径,但是pkg-config没有相应地更新编译标志.
  • 添加path(/opt/Qt5.2.1/5.2.1/gcc_64/lib/pkgconfig/)$PKG_CONFIG_PATH也不起作用.

这是八度配置脚本输出.

car*_*aug 7

这个问题是因为八度正在搜索QtCore.pc,QtGUI.pcQtNetwork.pc而QT5似乎已经改名他们作为Qt5Core.pc,Qt5GUI.pcQt5Network.pc.一种解决方案是为它们创建符号链接:

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
Run Code Online (Sandbox Code Playgroud)

我不确定名称改变的原因.我想知道是否应该存在某种类型的机制,其中unversion版本将在其中$PKG_CONFIG_PATH,并且更改您的首选项会将链接更改为正确的版本.

最后,你的,config.log并且config.status比配置的输出更有用.提到的文件将包含configure的实际命令和输出.