【问题标题】:Qt 5.2.1 fails to build on mac OSX 10.8.5Qt 5.2.1 无法在 mac OSX 10.8.5 上构建
【发布时间】:2014-04-09 20:51:33
【问题描述】:

我在运行 OS X 10.8.5 和 xcode 5.0.2 的 Macbook 上下载了 Qt 5.2.1(.tar.gz),解压缩并运行此配置:

./configure -prefix $PWD/qtbase -debug-and-release -developer-build -no-c++11 -opensource -plugin-sql-sqlite -qtlibinfix _fmosoft -nomake tests -skip qtwebkit -skip qtwebkit-examples -no-compile-examples

我有一些补丁要添加到 Qt5.2.1,所以我不能只安装二进制文件。但我想我会首先尝试在没有任何补丁的情况下构建,只需将解压缩的代码与我的配置选项一起使用。配置成功,然后我运行

make

运行大约 5 分钟,然后给我这个错误:

../corelib/global/qt_pch.h:58:10: error: 'qglobal.h' file not found with
      <angled> include; use "quotes" instead
#include <qglobal.h>
         ^~~~~~~~~~~
         "qglobal.h"
../corelib/global/qt_pch.h:64:10: fatal error: 'qcoreapplication.h' file not
      found
#include <qcoreapplication.h>
         ^
2 errors generated.
make[4]: *** [.pch/debug/QtNetwork_fmosoft_debug/c++.pch] Error 1
make[3]: *** [debug-all] Error 2
make[2]: *** [sub-network-make_first] Error 2
make[1]: *** [sub-src-make_first] Error 2
make: *** [module-qtbase-make_first] Error 2

我做错了什么?如何在我的 Macbook 上构建 Qt5.2.1?

【问题讨论】:

    标签: c++ macos qt build qt5


    【解决方案1】:

    前缀是安装前缀,指向build目录下的qtbase文件夹是没有意义的。构建目录是您必须调用配置的地方。

    以下内容对我有用(从 OS X 10.9 上的实际构建中的 .bash_history 转储):

    mkdir $HOME/Qt/build-5.2.1
    cd $HOME/Qt/build-5.2.1
    ~/Qt5.2.1/5.2.1/Src/configure -prefix "$HOME/Qt/5.2.1" -debug-and-release \
      -no-pkg-config -opensource -confirm-license -optimized-qmake \
      -nomake examples
    make -j2
    make install
    

    make install 之后,您将其安装到$HOME/Qt/5.2.1。这就是前缀。

    【讨论】:

    • 谢谢 - 我正在尝试一个非前缀构建,这就是我在 Qt 的文档中找到的用于 -prefix 的内容(我忘记了我在哪里看到的)。为了看看它是否有所作为,我按照你的建议尝试了一个普通的前缀构建,但我得到了与我原来的问题相同的错误。还有什么可能是错的想法?​​
    • @DavidBurson 这可能是 OS X 10.8 特有的错误。您不妨举报。
    • 这似乎是 -qtlibinfix 的一个错误。通过消除该标志,我通过了它。但是仍然失败并出现另一个错误:/Users/david/dev/qt521source/qtbase/examples/widgets/mac/qmacnativewidget/main.mm:44:10: fatal error: 'QApplication' file not found #include 跨度>
    • @DavidBurson 您给出的错误在示例中。 -no-compile-examples 似乎是空操作,请改用 -nomake examples
    • @DavidBurson 我认为您的部分问题是添加了很多自定义选项而没有首先使用默认值。例如,-qtlibinfix 确实没有充分的理由,因为无论如何您都不会在全球范围内安装 Qt,而且您永远也不会安装(除非您为 Apple 工作并且他们打算将 Qt 作为 OS X 的一部分发布)。有点没用您可能希望检查测试套件中是否有任何测试:我的直觉是没有,因此构建机器人从不使用它。
    猜你喜欢
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    相关资源
    最近更新 更多