OSX上Qt5 / QtCreator 3.0.1中的C ++ 11

丹尼尔

刚刚在OSX 10.9.2上下载并安装了Qt5。

当尝试使用clang run kit编译某些C ++ 11代码时,尝试包含cstdint时失败。

fatal error: 'cstdint' file not found

经过大量的谷歌搜索,似乎默认情况下未启用c ++ 11,这会触发此错误。进一步看来,启用C ++ 11的方法在Qt5中已更改。如果我正确理解的话,它应该就像在“项目->构建并运行->构建步骤->其他参数”中添加CONFIG + = c ++ 11一样简单。

但是,这没有任何区别。

所以; 有谁知道如何使用带有clang套件的QtCreator启用c ++ 11?

关于QtCreator为我提供了以下信息:基于Qt 5.2.1的QtCreator 3.0.1(Clang 5.0(Apple),64位)

编译器输出如下:

14:25:23: Running steps for project shelly...
14:25:23: Starting: "/Users/m/Qt5.2.1/5.2.1/clang_64/bin/qmake" /Volumes/files/Programmering/shelly/shelly.pro -r -spec macx-clang CONFIG+=debug CONFIG+=x86_64 CONFIG+=declarative_debug CONFIG+=qml_debug CONFIG+=c++11
14:25:23: The process "/Users/m/Qt5.2.1/5.2.1/clang_64/bin/qmake" exited normally.
14:25:23: Starting: "/usr/bin/make" 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -c -pipe -g -gdwarf-2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.7 -Wall -W -fPIE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/Users/m/Qt5.2.1/5.2.1/clang_64/mkspecs/macx-clang -I../shelly -I/Users/m/Qt5.2.1/5.2.1/clang_64/lib/QtOpenGL.framework/Versions/5/Headers -I/Users/m/Qt5.2.1/5.2.1/clang_64/lib/QtWidgets.framework/Versions/5/Headers -I/Users/m/Qt5.2.1/5.2.1/clang_64/lib/QtGui.framework/Versions/5/Headers -I/Users/m/Qt5.2.1/5.2.1/clang_64/lib/QtCore.framework/Versions/5/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -I. -F/Users/m/Qt5.2.1/5.2.1/clang_64/lib -o datainterval.o ../shelly/core/datainterval.c++
In file included from ../shelly/core/datainterval.c++:5:
In file included from ../shelly/core/datainterval.h++:9:
../shelly/core/datatime.h++:9:10: fatal error: 'cstdint' file not found
#include <cstdint> // GPL w/runtime exception
         ^
1 error generated.
make: *** [datainterval.o] Error 1
14:25:24: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project shelly (kit: Desktop Qt 5.2.1 clang 64bit)
When executing step 'Make'
14:25:24: Elapsed time: 00:01.

更新:

对我的问题做了“最小的重现”;

  1. 创建一个新项目,一个“ Qt Widgets Application”。
  2. 将所有内容保留为默认值(路径除外)。
  3. 在创建的文件mainwindow.c ++中,添加cstdint include语句:
  4. 尝试构建它(如上所述失败)
  5. 在“项目”->“构建并运行”->“构建步骤”->“其他参数”中添加

    配置+ = c ++ 11

然后,“有效的qmake调用”行显示为

qmake /Users/m/Documents/ProgrammeringOSX/testC11/testC11.pro -r -spec macx-clang CONFIG+=debug CONFIG+=x86_64 CONFIG+=declarative_debug CONFIG+=qml_debug CONFIG+=c++11

…错误仍然存​​在。

:(

丹尼尔

好的,

我似乎已经“修复”了它……我直截了当地说,我只是在随机更改参数,以查看其产生的效果,然后突然做到了:

QMAKE_MACOSX_DEPLOYMENT_TARGET=10.9

(无论是在.pro文件中还是在GUI中进行设置都没关系)

如果我添加了CONFIG + = c ++ 11,则将目标设置为10.7,不将其设置为10.6,因此这将其强制设置为10.9(也尝试了10.8,但不,是10.9)。

有趣的是,我不需要在“最低限度的娱乐”版本中添加CONFIG + = c ++ 11……我想如果我真的添加任何C ++ 11代码,我就会明白这一点。但是婴儿的脚步,婴儿的脚步!

另一个有趣的事情是,当我将目标更改为10.9时,然后添加了伪造的QMAKE_CXXFLAGS参数,并且clang调用失败了(我猜它遵循了我的'pleaseFailNow'参数)。

谢谢您的帮助!

干杯/丹尼尔

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ubuntu上QtCreator 3.5.0中的C ++ 11

来自分类Dev

使用QtCreator和qt5安装Qt3D时出错

来自分类Dev

使用QtCreator和qt5安装Qt3D时出错

来自分类Dev

Qt5中的QX11EmbedWidget对应什么?

来自分类Dev

在QtCreator中从Qt调用fortran代码

来自分类Dev

在QtCreator中从Qt调用fortran代码

来自分类Dev

Qt 4.7.3中缺少Qtcreator.exe

来自分类Dev

无法在qtcreator中编译Qt项目

来自分类Dev

Windows上QtCreator中的链接问题

来自分类Dev

QtCreator5中的核心插件?

来自分类Dev

Ubuntu 14.04 QtCreator Qt5示例丢失

来自分类Dev

在OSX 10.10的Qt5中找不到OpenCV库

来自分类Dev

Qt:CONFIG + = C ++ 11,但是-std = c ++ 0x

来自分类Dev

C中{0,1,2,3,4,5,6,7,8,9}外的条件

来自分类Dev

qtcreator找不到qt

来自分类Dev

如何在Ubuntu 12.04中安装Qt5 X11 Extras模块?

来自分类Dev

如何在Ubuntu 12.04中安装Qt5 X11 Extras模块?

来自分类Dev

QtCreator Windows上的clang

来自分类Dev

在qtcreator中编译C ++ 14

来自分类Dev

Qt 5中的C ++ 11线程

来自分类Dev

链接器在Windows上的qtcreator中忽略/ openmp

来自分类Dev

链接器在Windows上的qtcreator中忽略/ openmp

来自分类Dev

是否在C11中定义了memcpy(&a + 1,&b + 1,0)?

来自分类Dev

在Qt5中的QWidget中显示Qt3D内容

来自分类Dev

使用 python,根据条件的结果,在每个条目上创建一个 11x3 的矩阵,其中每个条目都有 0 和 1

来自分类Dev

tcl中逻辑运算的结果((0x5C0&0x3C0)>> 6)

来自分类Dev

Ubuntu 16.04 Xenial在ACER E3-11-P0D8上硬崩溃

来自分类Dev

我想把数组 [1,2,3,4,5,6,7,8,9,10,11] 变成数组 [1,2,3,4,5,6,7,8,9,1 ,0,1,1] 仅使用此算法

来自分类Dev

在OS X上的Qt5中支持Retina