【问题标题】:Octave configure cannot find Qt library on OS XOctave 配置在 OS X 上找不到 Qt 库
【发布时间】:2014-06-18 09:03:13
【问题描述】:

我已经通过从 qt-project.org 下载的 .dmg 文件直接安装在我的 OS X 上安装了 QT 4.8 库。它似乎是一个框架版本。到目前为止,很多工具都能很好地识别它。但是当我在这台计算机上构建 octave 时,它​​会发出“未找到 Qt 库”的警告。我想知道为什么。我该怎么做才能让它识别我机器上的 qt lib。

我用来配置的命令是

./configure --prefix=/usr/local --enable-shared F77=gfortran-4.2 LDFLAGS='-L/usr/local/lib'

(更多信息)

我确实试过用

找到 QT 的安装
find find /Library/ -name QtGui

返回结果为

/Library//Frameworks/QtGui.framework/QtGui
/Library//Frameworks/QtGui.framework/Versions/4/Headers/QtGui
/Library//Frameworks/QtGui.framework/Versions/4/QtGui

除了ipython notebook --matplotlib=qt 在我的系统上运行良好,我假设我的 Qt 库已成功安装。

但是当使用pkg-config 进行检查时,pkg-config --cflag QtGuipkg-config --libs QtGui 都没有返回肯定的结果。

【问题讨论】:

    标签: macos qt octave


    【解决方案1】:

    确保您的 Qt 安装正常。我假设它已正确安装并且对您正在使用的操作系统可见。

    您粘贴的configure 命令接受两个环境变量QT_CFLAGSQT_LIBS。使用pkg-config 工具确定它们的适当值:

    pkg-config --cflags QtGui
    pkg-config --libs QtGui
    

    并将此信息添加到命令行:

    ./configure QT_CFLAGS='foo' QT_LIBS='bar' # other stuff...
    

    【讨论】:

    • 我尝试了这些命令,但 pkg-config 无法找到 QtGui。但是我尝试了find \Library\ -name QtGui/Library/Frameworks/QtGui.framework/ 中有几个结果。我觉得QtGui是系统可以识别的,之前我用ipython notebook和qt一起用过,效果不错。
    • @Chong,看看你能不能在文件系统的某个地方找到QtGui.pc。这是pkg-config 将要查找的文件。
    【解决方案2】:

    我想我现在知道答案了。通过 .dmg 文件安装的 qt-4.8 是框架版本。没有Qt*.pc 文件,因此pkg-config 无法找到。所以,为了使用pkg-config找到系统中安装的qt,你需要从源码编译qt(源码可从qt-project.org下载),指定要编译一个-no-framework版本:

    ./configure -no-framework --foo --bar
    make
    sudo make install
    

    构建和安装后,qt 将位于(默认)

    /usr/local/Trolltech/Qt-4.8.6/lib/pkgconfig/
    

    因此在 ~/.bashrc 中添加一行

    export PKG_CONFIG_PATH="/usr/local/Trolltech/Qt-4.8.6/lib/pkgconfig/:${PKG_CONFIG_PATH}"
    

    将帮助 pkg-config 在您的系统中找到 qt。

    【讨论】:

    • 感谢您分享您的努力和回答,这将对未来的用户有所帮助。
    猜你喜欢
    • 2015-06-25
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多