【问题标题】:Compile error when trying to compile a qt project尝试编译 qt 项目时出现编译错误
【发布时间】:2013-03-04 23:34:24
【问题描述】:

我正在尝试编译我的 Qt 项目,该项目在 Linux 机器上编译良好,但在我的 Mac 上 我收到以下错误:

    ../../Qt5.0.1/5.0.1/clang_64/include/QtCore/qlist.h:52:10: fatal error: 
  'initializer_list' file not found
   #include <initializer_list>
     ^

知道如何解决这个问题吗?

【问题讨论】:

    标签: c++ qt c++11 makefile


    【解决方案1】:

    这是 Mac 在尝试使用 64 位 clang 编译器编译 Qt 5.0+ 项目时的一个已知错误。为了解决此冲突,请尝试this 错误修复论坛帖子中概述的步骤:

    1) 克隆 Desktop Qt 5.0.0 clang 64bit (SDK) 套件。

    2) 将编译器从 GCC (x86 64bit) 更改为 Clang (x86 64bit)。

    3) 更改您的项目以使用克隆套件。

    4) 将以下内容添加到您的 .pro 文件中:

    QMAKE_CXXFLAGS = -mmacosx-version-min=10.7 -std=gnu0x -stdlib=libc+
    
    CONFIG +=c++11
    

    【讨论】:

    • 您能否进一步解释一下我如何完成步骤 1、2、3,或者至少将我引导到正确的资源?
    • 1.将您的 Qt SDK 根目录复制粘贴到其他地方。 2/3。在 QtCreator 中导航到 Projects-> Manage Kits -> Kits 并选择您当前使用的套件或创建一个新套件。选择套件后,在 Sysroot 下指定 Qt SDK 克隆的路径,在 Compiler 下指定 Clang x86 64 位编译器。
    • 我还是不太清楚,我没有看到任何Qt SDK文件夹,这是否意味着将整个Qt.5.0.1 floder复制并粘贴到其他地方?当前的 SDK 具有相同的属性,例如编译器是 Clang x86 64 位。很抱歉拖了这个,但我必须让它运行
    • 是的,这就是帖子所指的目录。我假设他们希望你克隆那个目录,以防你使用的 Qt 安装被破坏并且你有一个工作备份。
    • 你知道Clang x86 64位是否支持C++11吗?
    猜你喜欢
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 2019-10-12
    • 2012-05-13
    相关资源
    最近更新 更多