【问题标题】:Compiled some simple swift code, but I can't execute it on other machine编译了一些简单的快速代码,但我无法在其他机器上执行它
【发布时间】:2019-01-28 08:47:21
【问题描述】:

就像我在标题中所说,我写了一些非常简单的 swift 代码,没有使用其他 3rd 方库,只导入 Foundation。我将带有swiftc 的代码编译为二进制可执行文件。我可以只使用二进制文件的文件名来执行它。然后将其复制到 iCloud 并最终将其下载到其他机器上。 我只是不能让它在其他机器上运行。 我检查了 swift 版本是完全一样的。 错误信息显示如下:

dyld:库未加载:@rpath/libswiftCore.dylib 引用自:/usr/local/bin/helloworld 原因:找不到图片

这只是抱怨 swift 运行时环境的常见错误。 但我只是不明白为什么,因为两台机器上的 swift 版本完全相同。

谢谢。

【问题讨论】:

    标签: swift macos compilation binary


    【解决方案1】:

    我建议做几件事:

    首先,删除派生数据(文件 -> 工作场所设置 -> 单击文件夹路径旁边的箭头 -> 将该文件夹中的所有内容发送到垃圾箱。

    然后清理项目(shift + command + k)并重建(command + b)。

    另一件要检查的事情是Always embed Swift Standard Libraries 设置为是

    【讨论】:

    • 看起来 OP 并没有使用 Xcode 进行编译,而是使用 swiftc 进行编译。
    【解决方案2】:

    如果没有看到您的代码,很难判断出了什么问题,我尝试过但无法重现您的问题。 这是我尝试做的:

    创建 test.swift 并添加以下代码:

    #!/usr/bin/swift
    
    print("hello world")
    

    通过运行将其编译为可执行文件:

    swiftc test.swift -o test
    

    将其复制到另一台机器并使其可执行:

    chmod +x test
    

    执行

    test
    

    它打印出来了

    hello world
    

    检查您的 swift 版本:

    swift --version
    

    我的机器的swift版本都是

    Apple Swift 版本 4.0.3 (swiftlang-900.0.74.1 clang-900.0.39.2)
    目标:x86_64-apple-macosx10.9

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多