4

我正在尝试安装 QtROOT,并且作为安装的一部分(特别是在http://root.bnl.gov/QtRoot/downloads/qtFullRoot.tar.gz的 QtROOT tarball 中的自述文件),它提到要使确保设置了 QTDIR。我已经从 Mac OS X 的 Qt 4.6.3 SDK 安装中安装,我没有设置这样的环境变量。我尝试用谷歌搜索找出应该设置的位置,但我找到的选项(例如 /usr/local/qt)不存在。这个变量应该设置成什么?

OS X 10.6.4、Qt 4.6.3、ROOT 5.26/00、QtROOT……我不知道。:P

谢谢,

保罗

4

3 回答 3

7

Qt 的 OSX 打包安装程序将内容分散在 /Developer 和 /Library 目录中,而不是安装到 /usr/local 或 /opt/local 中的独立位置,就像您可能期望在其他基于 unix 的系统上所做的那样。

顺便说一句,Qt 在这方面遵循了 Apple 的做事方式,所以这并没有错——只是不同而已——但它确实使一些第 3 方 Qt 应用程序在 OSX 上构建起来有些困难。

打包的 Qt 安装程序本身对这个主题有以下说法:

成功安装后,您可以在 /Developer 中找到大多数新内容。具体的东西将位于以下地方:

  • Qt 设计师、Qt 语言学家:/Developer/Applications/Qt
  • Qt 文档:/Developer/Documentation/Qt
  • Qt 示例:/Developer/Examples/Qt
  • Qt 插件:/Developer/Applications/Qt/Plugins
  • Qt 框架:/Library/Frameworks
  • Qt 库:/usr/lib
  • qmake、moc、uic 等:/Developer/Tools/Qt(到 /usr/bin 的符号链接)
  • 卸载脚本:/Developer/Tools/uninstall-qt.py

因此,它确实将库放入“/usr/lib”,并将基本的 Qt 工具(如 qmake)符号链接到“/usr/bin”。这表明 QTDIR 可以设置为“/usr”。然而在实践中,这不起作用,因为 qt 头文件仍然隐藏在 '/Library/Frameworks/Qt*/Headers/*.h' 中,而依赖于 $QTDIR 的构建最终会在 "$ {QTDIR}/include/" 代替。

解决这一切的最简单方法是从源代码构建 Qt。安装位置将默认为/usr/local/Trolltech/Qt-4.6.3(注意版本号,并进行相应调整)。您可以使用 上的-prefix选项覆盖默认安装位置./configure

更简单的方法是让macports为您构建它。这是我最终采用的方法(并且取得了很好的成功)。只需安装 macports,如果您还没有它。然后:

> sudo port selfupdate
> sudo port install qt4-mac

Macports 将发挥它的魔力,当它完成后,Qt 将被完整地安装在/opt/local/libexec/qt4-mac.

无论您如何构建 Qt,预计完整构建需要几个小时。这是一个非常大的代码库。

于 2010-08-10T21:22:19.323 回答
1

我没有从安装程序中安装 Qt(而是自己编译的),所以我不知道默认位置。

然而,在你安装 Qt 的地方,就有你的 QTDIR。搜索 qmake,它应该位于某个 bin/ 文件夹中。一个是 QTDIR ($QTDIR/bin/qmake)。通常现在不再需要设置 QTDIR 来构建 Qt 项目,只是 qmake 必须在 PATH 中,然后找到其他所有内容。但是有些项目可能需要它(如果他们使用仍然使用 QTDIR 的自定义构建系统)。

于 2010-07-30T14:29:25.893 回答
1

我需要在我的 Mac 上安装LiteIDE,在安装指南中,QTDIR 是必需的。我用自制软件安装qt,brew install qt --build-from-sourceRMBP大约需要2个小时。安装完成后,仍然没有 QTDIR 路径。通过检查build_osx.sh,我知道它只是 bin 的父文件夹。所以我设置了路径export QTDIR=/usr/local/Cellar/qt/4.8.6。然后./build_osx.sh再次运行。有用。

希望这会有所帮助。

于 2014-08-04T18:18:49.687 回答