【问题标题】:How to build a swift executable for Linux on macOS如何在 macOS 上为 Linux 构建 swift 可执行文件
【发布时间】:2018-06-22 20:58:57
【问题描述】:

我正在尝试在我的 MacBook 上为我的 Linux vServer 构建一个 swift 可执行文件。

我已经尝试使用swiftc -target "x86_64-linux test.swift,但我的 macOS swift 编译器显示此错误:<unknown>:0: error: unable to load standard library for target 'x86_64--linux'

所以我环顾四周,发现了这个问题:Swift on OS X compiling for Linux? 并尝试了这个来自苹果的example script 来设置一个跨平台的工具链。

在尝试构建脚本示例文本中所示的模块后,它已编译,但在我的 linux 机器上我现在收到此错误:error while loading shared libraries: libswiftCore.so: cannot open shared object file: No such file or directory 这很奇怪,因为 swift 已正确安装在我的 Linux 机器上并且有效。

那么我在交叉编译项目时做错了什么,或者我的 Linux 机器上是否有问题?另外我想知道,是否有更简单的方法可以在 macOS 上为 Linux 编译项目,例如更改 Xcode 中的构建设置或其他什么?

提前致谢,
乔纳斯

【问题讨论】:

    标签: swift linux macos compilation cross-compiling


    【解决方案1】:

    这只是意味着它无法找到链接的库。如果您的libswiftCore.so 位于/usr/lib/swift/linux,您可以运行LD_LIBRARY_PATH=/usr/lib/swift/linux ./<your executable for linux>,它会像魅力一样工作。

    您也可以设置LD_LIBRARY_PATH 变量来只执行二进制文件。

    【讨论】:

    • 确定你写的命令没有错字? LD_LIBRARY_PATH/usr/lib/swift/linux 不是我机器上的有效命令。 -bash: LD_LIBRARY_PATH/usr/lib/swift/linux: No such file or directory
    • 没关系。知道了。您的LD_LIBRARY_PATH 和文件夹之间缺少=。非常感谢!它工作:)
    猜你喜欢
    • 1970-01-01
    • 2015-11-03
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    • 1970-01-01
    • 2021-06-25
    • 2010-11-11
    相关资源
    最近更新 更多