Yosemite上的XCode 6:支持C++;11坏了吗?

Yosemite上的XCode 6:支持C++;11坏了吗?,xcode,qt,c++11,osx-yosemite,Xcode,Qt,C++11,Osx Yosemite,我正试图在约塞米蒂的XCode 6中构建一个c++11和Qt5.3项目。XCode项目由qmake生成(我必须在qdevice.pri文件中将qmake\u MAC\u SDK的值更改为macosx10.10)。在XCODEL的构建设置中,C++方言是“代码> C++ 11 ”,标准LIB是代码> LBC++ 现在XCode给了我以下错误 clang:错误:-stdlib=libc++(需要)的部署目标无效 OS X 10.7或更高版本) 我相信Yosemite是OS X 10.10,从日志中我

我正试图在约塞米蒂的XCode 6中构建一个c++11和Qt5.3项目。XCode项目由
qmake
生成(我必须在
qdevice.pri
文件中将
qmake\u MAC\u SDK
的值更改为
macosx10.10
)。在XCODEL的构建设置中,C++方言是“代码> C++ 11 ”,标准LIB是代码> LBC++ 现在XCode给了我以下错误

clang:错误:-stdlib=libc++(需要)的部署目标无效 OS X 10.7或更高版本)

我相信Yosemite是OS X 10.10,从日志中我还可以看到XCode使用了以下clang选项:

-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk


上面的
MacOSX10.10.sdk
文件夹存在。我想知道哪里出错了…

您还没有告诉编译器OSX的最小目标是什么。为了使用
libc++
,它必须是10.7,因为这是OSX的第一个版本

需要添加的命令行选项是:

-mmacosx-version-min=10.7
我不确定您是如何使用QMake将该选项设置为
clang
,但是根据,它是通过调整mkspec完成的:

问题:

我想添加编译器选项
-mmacosx version min=10.6
。我 我试过设置

QMAKE_cxflags+=-mmacosx版本最小值=10.6

在我的.pro文件中。这个 问题是,mkspecs也为该选项提供了一个值 config files–common/g++-macx.conf将其设置为 -mmacosx版本最小值=10.5。结果是编译器命令行将同时包含my设置和mkspecs设置。mkspecs 设置最后出现并将生效。我怎样才能告诉编译器呢 要使用“-mmacosx版本最小值=10.6”

(一)答复:

调整mkspec,或通过复制原始文件创建新的mkspec, 更改最小版本和名称

感谢您的提示:)事实证明,在XCode的项目构建设置中,“部署”部分下有一个选项“OSX部署目标”,它是“10.6”,将其更改为10.6以上的版本解决了问题。稍后我将探索qmake解决方案。谢谢。