C++11 错误:<;原子>;未在LLVM版本5.1中实现

C++11 错误:<;原子>;未在LLVM版本5.1中实现,c++11,cmake,llvm,osx-mountain-lion,atomic,C++11,Cmake,Llvm,Osx Mountain Lion,Atomic,我试图用cmake编译,但遇到了一些问题。我相信这是因为我没有安装具有llvm配置的llvm的单独副本。所以我已经签出了llvm,并且正在尝试。我得到一个错误: CMake Error at cmake/modules/HandleLLVMOptions.cmake:37 (message): Host Clang must be able to find libstdc++4.7 or newer! atomic.cpp:1:10: fatal error: 'atomic' file

我试图用cmake编译,但遇到了一些问题。我相信这是因为我没有安装具有llvm配置的llvm的单独副本。所以我已经签出了llvm,并且正在尝试。我得到一个错误:

CMake Error at cmake/modules/HandleLLVMOptions.cmake:37 (message):
  Host Clang must be able to find libstdc++4.7 or newer!
atomic.cpp:1:10: fatal error: 'atomic' file not found
#include <atomic>
         ^
1 error generated.
和cmake/modules/handlelvmoptions.cmake:37实际上是一个类似于:

check_cxx_source_compiles("
#include <atomic>
std::atomic<float> x(0.0f);
int main() { return (float)x; }"
    LLVM_NO_OLD_LIBSTDCXX)
if(NOT LLVM_NO_OLD_LIBSTDCXX)
    message(FATAL_ERROR "Host Clang must be able to find libstdc++4.7 or newer!")
endif()

为什么我不支持c++11原子?我正在运行OSX 10.8.5,从10.8.4升级而来,XCode版本5.1.1,以及clang++5.1(clang-503.0.40)(基于LLVM 3.4svn)。我没有选择升级应用商店中的xcode,也没有开发工具。我需要重新安装XCode,还是升级到Mavericks?

我需要检查所有LLVM,并向CMake传递一个额外的命令行参数

svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
cd ../projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
cd ..
mkdir build
cd build
cmake .. -DLLVM_ENABLE_LIBCXX=ON
make
make install

xCode 6.4也有同样的问题。当在一个简单的helloWorld程序中使用atomic时,它是有效的,但当使用CMake生成的项目时,我遇到了“错误未实现”

似乎CMake需要特殊标志才能在mac上启用c++11。。。所以,正如kitware在这里所指出的那样,确实(几乎…用if(苹果)取代了if(UNIX)):

如果有一天链接停止工作

cmake_minimum_required(VERSION 2.6)

PROJECT(Test)

if(UNIX)
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=gnu++0x")
endif()

# MSVC does not require any special flags