参考链接:
http://www.swiftPRogrammer.info/swift_centos_1.html
http://www.th7.cn/Program/IOS/201603/772422.shtml
http://www.linuxidc.com/Linux/2016-01/127232.htm
http://os.51cto.com/art/201601/503260.htm
这里是以Ubuntu16.04版本为例进行编译安装的。
目前官方已经Ubuntu14.04和16.04的Release版本。如果想直接使用Swift的发行版的话,在官网下载、解压即可得到可执行文件,设置环境变量即可使用。
下面是一个在Ubuntu14.04下直接安装Release版swift的简单教程:
http://os.51cto.com/art/201601/503260.htm
中提到使用如下命令进行编译
utils/build-script -l -b -p --xctest --foundation -R
但我使用以上命令后出现了如下错误:
TestFoundation/TestNSString.swift:13:8: error: no such module 'XCTest'
import XCTest
^
ninja: build stopped: subcommand failed.
后来发现是XCode未进行编译,所有最终使用如下的命令编译通过。
utils/build-script -l -b -p --xctest --foundation -R
编译完成后,输入如下命令,检查lldb是否编译成功。
../build/Ninja-ReleaseAssert/lldb-linux-x86_64/bin/lldb –version
如果出现以下结果,则说明已经成功。
⑹Linux swift不支持REPL交换式命令行
Swift原则上是可以像python那样实现命令行的交换式输入的。但当我们输入
../build/Ninja-ReleaseAssert/swift-linux-x86_64/bin/swift
会出现如下的错误,说明不支持REPL
LLVM ERROR: Compiler-internal integrated REPL unimplemented for this platform; use the LLDB-enhanced REPL instead.
该问题我目前正在研究。可能是因为编译器目前对linux的支持还不够完善造成的。
在编译期间如果出现库找不到的情况,请务必检查是否有依赖包少安装了。
编译swift一定要查看各自README.md和官网的帮助手册。
新闻热点
疑难解答