如何在macOS上为Linux构建swift可执行文件

iCo*_*eak 7 linux macos compilation cross-compiling swift

我正在尝试在我的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为Linux编译?并从apple 尝试了这个示例脚本来设置跨平台工具链.

在尝试构建一个像脚本的示例文本中所示的模块之后,它编译了,但是在我的linux机器上我现在得到了这个错误:error while loading shared libraries: libswiftCore.so: cannot open shared object file: No such file or directory这很奇怪,因为swift已正确安装在我的Linux机器上并正常工作.

那么在交叉编译项目时我做错了什么,或者我的Linux机器上有问题吗?另外我想知道,如果有更简单的方法在macOS上编译Linux项目,比如更改Xcode中的Build Settings等等?

在此先感谢,
乔纳斯

Dev*_*van 5

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

您还可以设置LD_LIBRARY_PATH变量以仅执行二进制文件。