Xcode9 似乎不支持 3rd llvm 编译器?

Xcode9 seems doesn't support 3rd llvm compiler?

用从 llvm.org 下载的 LLVM 5.0 替换默认的 Apple-LLVM。 并编译,xcode 抛出错误:

clang-5.0: error: cannot specify -o when generating multiple output files

Xcode8 可以。

谢谢。

这不是 Clang 5.0 独有的问题。我在使用自定义 Clang 3.9 时遇到了同样的问题。 Xcode 9 引入了普通 Clang 不支持的自定义参数:

The -index-store-path argument does not exist in Clang 5.0 and it gets discarded without any error message. The problem is that its argument, a folder, is not discarded, and Clang considers it as a source file. This leads to the following errors:

  • cannot specify -o when generating multiple output files (this happens if a -o argument is passed)
  • error reading '<PATH>' (this can be observed when running the "normalized" version of the clang command, generated via the -### flag)

来源:Facebook/infer: Remove unsupported index-store-path argument from clang commands.


在我基于 Clang/CMake/Xcode 的自定义工具链中,我使用 wrapper around clang,其中我只是切断了这个参数和传递给它的文件夹,一切正常。