【问题标题】:setting up c++11 in qt creator in snow leopard with gcc 4.9使用 gcc 4.9 在雪豹的 qt creator 中设置 c++11
【发布时间】:2015-10-02 08:39:40
【问题描述】:

虽然我尝试了How to enable C++11 in Qt Creator?中的建议

这不适用于我在 mac os x snow leopard 10.6.8 中使用 Qt 4.8 的 Qt Creator。使用 GCC 4.9 编译时,添加:

QMAKE_CXXFLAGS += -std=c++11

我明白了

cc1plus: error: unrecognized command line option "-std=c++11"

这是否意味着像上面的链接所说的那样与 Qt 4.8 兼容?还是不行?

【问题讨论】:

  • 从你得到的错误来看,我认为你没有用 g++ 4.9 编译。 QMAKE_CXXFLAGS 只是传递给底层 C++ 编译器。查看编译器输出窗口并检查调用了哪个编译器。
  • 可能来自 Snow Leopard 的旧编译器不支持 C++11。您需要使用 gcc 4.9 自己编译 Qt 才能使其工作,并且您需要使用该自编译构建来构建您的项目。你有吗?
  • 根据 Qt Creator 项目菜单,我使用的编译器是 /usr/bin/g++。 g++ -v 确认我使用的是 g++ 4.9。我还能如何确保我真的在使用它?
  • 我用的是Qt 4.8的安装程序,我没有自己编译Qt。
  • 如果编译器不接受-std=c++11,编译Qt也帮不了你。

标签: c++ qt c++11 gcc osx-snow-leopard


【解决方案1】:

您可以尝试在.pro文件中强制使用您要使用的编译器:

QMAKE_CC = full path of gcc (for ex. /opt/local/bin/gcc49)
QMAKE_CXX = full path of g++
QMAKE_LINK = full path of g++
QMAKE_LINK_SHLIB_CMD = full path of g++

【讨论】:

  • 我首先尝试使用 Qt creator 项目菜单来更改它,在那里我们可以手动设置 g++ 的路径。然后我尝试了你的 QMAKE 选项。在这两种情况下,我都会得到:g++: error: unrecognized command line option '-Xarch_x86_64' 从我在其他地方谷歌搜索时读到的内容,非苹果 GCC 会发生这种情况。
  • 以防万一,您是否尝试过使用其他编译器,例如 GCC 4.7 或 GCC 5.1?
  • 不,我没有。我也可以安装后试一试。
猜你喜欢
  • 2010-11-30
  • 2013-07-04
  • 2010-12-04
  • 1970-01-01
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
  • 2010-12-08
  • 1970-01-01
相关资源
最近更新 更多