【问题标题】:How to set default path for swiftc without using xcrun -sdk macosx如何在不使用 xcrun -sdk macosx 的情况下为 swiftc 设置默认路径
【发布时间】:2015-08-12 20:53:04
【问题描述】:

优胜美地 10.10.3:

import Foundation
println("Hello, World")

swiftc -o out in.swift,结果:

错误: 无法在我的桌面上加载“CoreGraphics”的底层模块,但可以在我的笔记本电脑上编译和运行。两台机器上都没有设置环境变量 SDKROOT。我不知道为什么这段代码会在我的笔记本电脑上编译,而不是在我的桌面上。显然已经设置了一些东西,允许 swiftc 在我的笔记本电脑上找到模块“CoreGraphics”,而不是在我的桌面上。

xcrun -sdk macosx swiftc -o out in.swift 将允许代码在桌面上编译。我被要求解释为什么我能够运行前者很重要,以及为什么我不能只运行后者而忘记它;除了我自己的好奇心之外,我没有其他答案,想了解事物是如何以及为什么工作的,这样我就可以掌握我的计算机,反之亦然。除此之外,它的输入要短得多。

【问题讨论】:

  • 编辑它以显示无法编译的最小 swift 文件并显示错误。此外,如果您能解释为什么不使用 xcrun 很重要,我们也许可以解决您在使用它来使命令行工具工作时遇到的任何犹豫。投票将其搁置,直到可以对其进行编辑/清理。
  • swiftc -versionxcode-select --print-path 在两台机器上返回相同的结果吗?
  • 是的,它们完全相同: swiftc -version 导致 Apple Swift 版本 1.2 (swiftlang-602.0.53.1 clang-602.0.53) 目标:x86_64-apple-darwin14.3.0 而代码-选择 --print-path 导致 /Applications/Xcode.app/Contents/Developer/

标签: xcode swift


【解决方案1】:

不是一个真正的答案,但您当然可以通过将此别名添加到您的 ~/.bashrc 来节省自己的打字时间

alias sc='xcrun -sdk macosx swiftc'

【讨论】:

    猜你喜欢
    • 2016-01-29
    • 2011-09-28
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 2020-05-26
    • 2012-01-21
    • 2022-12-11
    • 1970-01-01
    相关资源
    最近更新 更多