我安装了 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/