xcode - 如何更改与 swift 编译器关联的 macOS SDK

标签 xcode swift macos metal

我安装了 Xcode 7.3,swiftc 命令行编译器声明它是 2.2 版,但它被配置为以 macos10.9 sdk 为目标:

🍺> swiftc -v
Apple Swift version 2.2 (swiftlang-703.0.18.8 clang-703.0.31)
Target: x86_64-apple-macosx10.9

FWIW 我正在运行 OS X 10.11.6。在此配置中使用此 swiftc 编译 Metal API 代码会导致错误,例如:

src/Application.swift:76:29: error: 'MTLBuffer' is only available on OS X 10.11 or newer
var _mtlPositionBuffer : MTLBuffer?

最后,为了解决这个问题,我使用了标志进行编译:

-sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk

没有用。如何更改 swiftc 命令行编译器的 sdk/平台目标?

最佳答案

看看 Xcode 在编译 swift 代码时做了什么,它使用了以下 CLI 标志,这似乎很好地解决了这里的问题:

-target x86_64-apple-macosx10.11

关于xcode - 如何更改与 swift 编译器关联的 macOS SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38189187/

相关文章:

ios - Xcode 工具栏中未显示视觉内存泄漏选项

xcode - 是否可以在构建 Xcode 项目时转储 AST?

swift - 音频播放锁屏控件不显示

php - 本地连接 php 到 Mac 上的 mdb 或 sql

git - 我应该从哪里安装 git : xcode-select --install or brew install git?

c++ - 使用 g++ 编译 Makefile 时遇到问题

使用 OCMock 静态库的 iOS 单元测试(-Objcflags问题)

iphone - 使用线程时如何解决错误?

ios - 如何在 tableview 中快速设置索引

arrays - ContigiousArray的内部结构