XCode编译器错误,使用CMake构建项目

时间:2014-09-09 05:21:09

标签: c++ xcode macos cmake clang

我正在尝试构建一个从CMake 3.x生成的XCode(5.0版)项目。

clang compiler version:
Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix

当我尝试构建项目时

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 blah blah  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk  blah blah -Wno-unknown-pragmas -F/usr/local/bin/Debug ;**-std=c++0x -stdlib=libc++** -Wall -MMD -MT blah blah

我收到此错误:

clang: error: no such file or directory: ';-std=c++0x'
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

如何解决此错误?

-std和-stdlib来自这些项目属性: Apple LLVM 5.0 - 语言C ++ ==>方言和标准图书馆

如何从CMAKE设置此内容?

2 个答案:

答案 0 :(得分:2)

如果我没记错,Xcode 5中没有c++0x种语言,但是有一种c++11方言。

可以通过两种方式在CMake项目中更改这些属性:

  • (我从未设法这样做)通过设置CMAKE_XCODE_ATTRIBUTE_然后设置您在Xcode项目中看到的属性名称
  • 设置''泛型''编译器属性CMAKE_CXX_FLAGS变量

答案 1 :(得分:0)

该命令行中有一个分散的分号:

-F/usr/local/bin/Debug ;-std=c++0x -stdlib=libc++ 
                       ^

所以shell看到两个命令;第一个以c++开头,第二个以-std=c++0x开头。查找并删除该分号,它应该开始工作。