Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 在OSX上,$QTDIR的正确设置是什么?_Macos_Qt_Root - Fatal编程技术网

Macos 在OSX上,$QTDIR的正确设置是什么?

Macos 在OSX上,$QTDIR的正确设置是什么?,macos,qt,root,Macos,Qt,Root,我正在尝试安装QtROOT,作为安装的一部分(具体来说,是位于的QtROOT tarball中的自述文件),它提到要确保设置了QTDIR。我是从用于Mac OS X的Qt 4.6.3 SDK安装中安装的,我没有设置这样的环境变量。我试着在谷歌上搜索它应该设置在哪里,但是我找到的选项(比如/usr/local/qt)不存在。此变量应设置为什么 OSX10.6.4,Qt4.6.3,根目录5.26/00,QtROOT。。。我不知道P 谢谢 Paul我没有从安装程序安装Qt(而是自己编译的),所以我不知

我正在尝试安装QtROOT,作为安装的一部分(具体来说,是位于的QtROOT tarball中的自述文件),它提到要确保设置了QTDIR。我是从用于Mac OS X的Qt 4.6.3 SDK安装中安装的,我没有设置这样的环境变量。我试着在谷歌上搜索它应该设置在哪里,但是我找到的选项(比如/usr/local/qt)不存在。此变量应设置为什么

OSX10.6.4,Qt4.6.3,根目录5.26/00,QtROOT。。。我不知道P

谢谢


Paul

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

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

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

顺便说一句,Qt在这方面遵循了苹果的做法,所以它并没有错——只是有所不同——但它确实让一些第三方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
因此,它确实将libs放入了“/usr/lib”,并将基本的Qt工具(如qmake)符号链接到“/usr/bin”。这表明QTDIR可以设置为“/usr”。然而,在实践中,这不起作用,因为qt头仍然隐藏在“/Library/Frameworks/qt*/headers/*.h”中,而依赖$QTDIR的构建最终将在“${QTDIR}/include/”中查找qt头

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

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

> sudo port selfupdate
> sudo port install qt4-mac
Macports将发挥其神奇作用,完成后,Qt将全部安装在
/opt/local/libexec/qt4 mac

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

我需要在mac上安装,在安装指南中,QTDIR是必需的。我通过
brew install qt-从源代码构建
,用自制软件安装qt,大约需要2个小时(RMBP)。安装完成后,仍然没有QTDIR路径。通过检查
build_osx.sh
,我知道它只是bin的父文件夹。因此,我通过export QTDIR=/usr/local/ceral/qt/4.8.6
设置路径。然后再次运行
/build\u osx.sh
。它起作用了


希望这会有帮助。

如果是这样,那就是/usr。这似乎是对的吗?正如一些额外的信息一样,QtROOT似乎决心逆势而行。它不仅需要设置QTDIR,而且安装脚本将把它安装在构建QtROOT包的同一目录中。不在/usr/local/Trolltech/您希望找到它的地方。你有qmake-in/usr/bin吗?哇,听起来很奇怪(谁想让Qt搞乱系统/usr?)。或者像你最后的评论所建议的那样,是/usr/local/Trolltech/../bin/qmake?然后是/usr/local/Trolltech/。。。这是你的QTDIR。(“…”==介于两者之间的任何其他目录)。这是一个非常好的答案。我已经用艰难的方式解决了大部分问题,但仍然非常出色。巧合的是,我的2005-6年代MBP的完整构建大约需要12个小时左右(我现在已经做了三四次了,想想看)。这已经不起作用了。它不安装该目录中的所有内容。不需要从源代码构建QT。我通过
brew install qt
用brew安装了qt,然后成功地构建了LiteIDE。我已更新了指令并向作者发送了请求。希望它能为其他人节省几个小时。谢谢你的回答!