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

2024-02-26

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


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

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

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

CC、CPLUSPLUS、LD、LDPLUSPLUS、LIBTOOL

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

免责声明:其中一些构建设置没有记录(据我所知)。使用风险自负。

(取自[cfe-dev] 编译/重构 iOS Xcode 项目 http://lists.llvm.org/pipermail/cfe-dev/2014-March/035816.html)

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

CC=my-c-compiler

CXX=my-cxx-compiler

LIBTOOL=my-linker-for-static-libraries

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

set_target_properties(your-target PROPERTIES XCODE_ATTRIBUTE_CC "${YOUR_CC}")
set_target_properties(your-target PROPERTIES XCODE_ATTRIBUTE_CXX "${YOUR_CXX}")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何强制 Xcode 使用自定义编译器? 的相关文章

随机推荐

  • 如何对齐 Bootstrap 4,水平列表组居中

    我正在使用这段代码here https gist github com danielflippance d6401c926b4fb2442e15 如下所示 水平对齐列表组中的项目 在 Bootstrap 4 中 list group lis
  • 为什么我们不实现 Iterator 中的所有函数来实现迭代器呢?

    要在 Rust 中实现迭代器 我们只需要实现next方法 如所解释的在文档中 https doc rust lang org stable std iter implementing iterator 但是 那Iterator trait
  • CS193P - 添加取消按钮到 iOS 计算器

    我最近开始在 iTunes U 上学习斯坦福大学的 iPhone 开发在线课程 我现在正在尝试做前几堂课的家庭作业 我按照演练构建了一个基本计算器 但现在我正在尝试第一个作业 但我似乎无法解决它 这是一个如下 添加一个 C 按钮来清除所有内
  • 协变在颤振中的作用

    我正在浏览 dart 文档 在那里我遇到了这段代码和这个术语covariant 我浏览了一些文档 但我不明白它是什么function那里 详细解释的答案总是值得赞赏的 class Animal void chase Animal x cla
  • 在 Firebase 中保存数组

    我使用 Firebase 3 0 作为后端 我需要保存我的每一个user uid在一个单独的子对象中 它需要是一个 NSArray 然后使用 for 循环检索该数组 这就是我保存数据的方式 我为 FIRController 创建了一个单独的
  • 在 Python 中验证字典

    我正在寻找工具或示例来 如何在 python 中验证字典 例如 我有字典 test foo bar nested foo1 bar1 foo2 bar2 现在我必须验证它 可以说 键值foo必须是布尔值False或非空字符串 接下来 如果关
  • 如何在 Visual Studio 2012 for Windows 8 上编译和执行 C 程序?

    我一直在寻找适用于 Windows 8 的 C 编译器 然后发现我可以在 Visual Studio 上编译 C 程序 微软提供了一个演练 http msdn microsoft com en us library vstudio bb38
  • 如何在 podspec 中添加捆绑目标

    我想做一个 podspec这个静态库 https github com thestk stk tree master iOS 在图书馆的 Xcode 项目中 我有一个 a图书馆的目标 以及 bundle目标为bundle https dev
  • flutter 中的多选项卡/页面视图

    如何在 flutter 中创建多页面视图 其中页面对应于底部导航栏中的选项卡 以便与页面对应的小部件仅按需构建一次 例如 考虑一个简单的 facebook 应用程序类型的 UI 带有两个选项卡 提要和具有以下行为的通知 提要和通知都是通过网
  • 当弹出窗口打开时,单击 Windows 标题栏的最小化、最大化和关闭按钮不起作用

    当我的弹出窗口打开时 第一次单击最小化或最大化或关闭按钮不起作用 第一次单击这些标题栏按钮将关闭弹出菜单并转移焦点 然后第二次单击窗口的最小化 最大化 关闭 有什么方法可以在第一次单击时激活这些标题栏按钮吗 主窗口 xaml
  • 切换目标框架后 System.Data.SQLite.DLL 不再加载

    我不得不从 net 4 5 切换到 net 4 0 因为我的一些客户仍然使用 WinXP 现在 切换后 这是我收到的错误 Could not load file or assembly System Data SQLite Version
  • C# 结合 GeckoFX + Tor.NET 库

    我正在尝试结合 GeckoFx 库和 Tor NET 库 在我的代码中 我做好了使用 tor 网络的所有准备 ClientCreateParams createParameters new ClientCreateParams create
  • Netbeans 8.2 无法验证 Git 凭据?

    我正在制作一个 Java 项目 该项目已在 github 上进行了多次提交 我最近将 Kubuntu 上的操作系统版本从 17 10 gt 18 04 更改 并安装了带有 Java 版本 1 8 0 171 的 Netbeans 8 2 以
  • Flutter插件:InAppPurchasePlugin.java使用未经检查或不安全的操作

    当我尝试在应用程序 pubspec yaml 文件中添加 in app purchase 插件时 会发生以下错误 就在添加插件之后 与任何特定代码无关 Note Users tanzimfahim flutter pub cache hos
  • GetAltTabInfo 用法?

    我无法使用 GetAltTabInfo 可能是一个愚蠢的错误 但这有什么问题呢 HWND taskSwitcher FindWindow L TaskSwitcherWnd L Task Switching ALTTABINFO altTa
  • 如何在android中的字符串中的每个“\n”之后添加行间距?

    正如问题所明确指出的那样 我想在每个之后添加一个小行距 n在 Android 资源文件的字符串中定义 假设我们在 xml 中定义了一个字符串 如下所示
  • 重置表单,无需 JavaScript? (输入类型=重置不起作用)

    好吧 我想标题已经说明了一切 我正在寻找一种重置表单中所有字段的方法 我尝试过以下一些方法
  • 跨多个服务器扩展 Socket.IO

    我一直在寻找有关为 Node js Socket IO 安装设置多服务器集群的帮助 这就是我正在尝试做的 在 F5 负载均衡器中有 1 个 VIP 指向n运行 Express 和 Socket IO 的 Node 服务器数量 让客户端通过以
  • 我应该如何 scipy.optimize 具有边界的多元且不可微的函数?

    我遇到了以下优化问题 目标函数是一个多变量且不可微的函数 它将标量列表作为参数并返回标量 它是不可微的 因为函数内的计算基于 pandas 和一系列滚动 std 等操作 伪代码如下 def target function x list gt
  • 如何强制 Xcode 使用自定义编译器?

    我想强制 Xcode 使用自定义编译器 从 src 构建的 clang llvm 以便我可以使用 clang 插件 我的Xcode版本是7 3 1 人们说使用自定义工具链是可能的 我没有对它们进行研究 因为更简单的解决方案对我来说效果很好