【问题标题】:How to make qtcreator work with c++11如何使 qtcreator 与 c++11 一起工作
【发布时间】:2017-05-09 18:21:59
【问题描述】:

我正在尝试让学校项目在本地运行,但我一直在使用 qtcreator 和 c++11 时遇到问题。

编译器一直说它不能使用 c++11 的东西:

/Users/yoong93/Qt5.6.2/5.6/clang_64/lib/QtCore.framework/Headers/qstring.h:
757: error: no type named 'u16string' in namespace 'std'
    inline std::u16string toStdU16String() const;

       ~~~~~^

虽然.pro 文件有以下几行:

QMAKE_CXXFLAGS += -std=c++14
CONFIG += c++14
unix:!macx {
    LIBS += -lGLU
}
macx {
    QMAKE_CFLAGS_X86_64 += -mmacosx-version-min=10.7
    QMAKE_CXXFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64
    CONFIG +=c++11
}

所以我希望项目文件没有任何问题,这是其他人最常见的问题。我不知道我哪里出错了。有人知道这个问题吗?

我使用的是 OSX El Captain 版本 10.11.6 和 Qt 5.6.1,并且我安装了 Xcode 版本 7.3.1。

【问题讨论】:

  • 我的 Mac 安装了 XCode 8 和 Qt 5.7,没有任何问题。如果升级不能为您解决问题,请尝试显示生成的编译器输出,以便我们可以查看从 Qt Creator 传递给 gcc/clang 的参数。
  • 你试过这个只有前两行的.pro文件吗?

标签: c++ macos qt c++11


【解决方案1】:

以下qmake 编译器标志在OSX El Captain 上为我工作:

CONFIG += c++14
QMAKE_CXXFLAGS += -std=c++11
QMAKE_CXXFLAGS += -stdlib=libc++
QMAKE_CXXFLAGS += -Wno-c++11-extensions

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    相关资源
    最近更新 更多