如何强制Xcode使用自定义编译器?

许金龙*_*许金龙 3 xcode llvm clang

我想强制Xcode使用自定义编译器(从src构建'clang-llvm'),以便可以使用clang插件。我的Xcode版本是7.3.1。

Sta*_*ich 7

人们说使用自定义工具链是可能的。我没有对它们进行研究,因为更简单的解决方案对我很有效:

通过设置Xcode的适当“构建设置”,也可以直接运行前端插件。(执行此操作的几种方法,例如,可以在命令行上设置它们:xcodebuild build FOO = bla。)以下是一些我发现对注入C标志有用的构建设置:

OTHER_CFLAGS,OTHER_CPLUSPLUSFLAGS或替换编译器和链接器:

CC,CPLUSPLUS,LD,LDPLUSPLUS,LIBTOOL

相同的方法可以控制“分析”操作:CLANG_ANALYZER_EXEC,CLANG_ANALYZER_OTHER_FLAGS

免责声明:其中一些构建设置未记录(afaik)。使用风险自负。

(摘自[cfe-dev]编译/重构iOS Xcode项目

对我来说,在Xcode项目的“构建设置”中定义以下用户定义的设置就足够了:

CC=my-c-compiler

CXX=my-cxx-compiler

LIBTOOL=my-linker-for-static-libraries
Run Code Online (Sandbox Code Playgroud)

如果您使用CMake,则自动注入编译器的方法是使用

set_target_properties(your-target PROPERTIES XCODE_ATTRIBUTE_CC "${YOUR_CC}")
set_target_properties(your-target PROPERTIES XCODE_ATTRIBUTE_CXX "${YOUR_CXX}")
Run Code Online (Sandbox Code Playgroud)


Lio*_*ion 1

project setting转到build setting选择目标。然后从顶部栏中选择All旁边的。Basic然后在构建选项下您可以看到编译器选项。

请参阅下面的屏幕截图,

在此输入图像描述

更新 :

我认为您应该参考Using C and C++ in an iOS App with Objective-C++本教程