【问题标题】:XCode compiler error, with a project built using CMakeXCode 编译器错误,使用 CMake 构建的项目
【发布时间】:2014-09-09 05:21:09
【问题描述】:

我正在尝试构建一个从 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 进行设置?

【问题讨论】:

    标签: c++ xcode macos cmake clang


    【解决方案1】:

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

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

    • (我从未设法做到这一点)通过设置CMAKE_XCODE_ATTRIBUTE_,然后设置您在 Xcode 项目中看到的属性的名称
    • 通过设置“通用”编译器属性CMAKE_CXX_FLAGS 变量

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2017-05-22
        • 1970-01-01
        • 2013-06-25
        • 2017-02-11
        • 2021-08-08
        • 1970-01-01
        • 2021-06-24
        • 1970-01-01
        • 2021-11-29
        相关资源
        最近更新 更多