歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 在 Linux 上編譯、安裝測試 Swift

在 Linux 上編譯、安裝測試 Swift

日期:2017/2/28 13:55:17   编辑:Linux教程

2015 年 12 月初,蘋果面向未來的新編程語言 Swift 開源了!作為一種新的同時適應面向對象和面向過程兩種編程范式的靜態編譯型語言,Swift 在語言設計、工具鏈完善度、基礎庫實現、官方推動力和開發者數量上都占有巨大的首發優勢,Swift 的開源可以說是轟動全球軟件開發界的大事。

Swift 的優勢暫且不吹了,下面說點實在的:參與 Swift 開源第一步 —— 在 Linux 上編譯、測試 Swift。

基礎准備

Swift 語言開源項目可以在 https://github.com/apple/swift 找到。准備完畢。

安裝依賴庫

十分推薦使用傻瓜化的 Ubuntu 作為桌面 Linux 系統,軟件新,更新快,大部分問題都可以使用 sudo apt-get install來解決,十分方便,我使用的是最新版 15.10。

執行一句命令解決所有依賴:

sudo apt-get install git cmake ninja-build clang python uuid-dev libicu-dev icu-devtools libbsd-dev libedit-dev libxml2-dev libsqlite3-dev swig libpython-dev libncurses5-dev pkg-config

如果你使用的是 14.04 LTS 或更早的版本,請參考 README 中相應的解決方案。

下載源碼

下載源碼分為兩步。

第一步,下載 Swift 源碼:

git clone https://github.com/apple/swift.git

第二步,下載依賴項目源碼:

cd swift
./utils/update-checkout --clone

注:此處使用更快的 HTTPS 即可,如果想要貢獻代碼,請先 fork 到你自己的用戶下,此處不再贅述。

編譯並測試

下面就要開始真正激動人心的編譯 + 測試環節了。運行命令:

utils/build-script -t

靜候佳音

我用我那台弱小的配置著 2.1 GHz 的移動版 i3 CPU 和 8G 內存的迷你 PC 硬生生編譯了 40 分鐘,測試倒是挺快的 20 分鐘之內就結束了。只要最終的結果裡沒有 Unexpected Failures,那就說明本次編譯成功了!下圖是我的成功畫面:

檢驗成果

運行命令:

../build/Ninja-DebugAssert/swift-linux-x86_64/bin/swift -v

如果你得到如下結果,那麼恭喜你,Swift 編譯成功!

Swift version 2.2-dev (LLVM 3ebdbb2c7e, Clang f66c5bb67b, Swift 1f2908b4f7)
Target: x86_64-unknown-linux-gnu

寫在最後

Swift 開源開得很徹底,在 Ubuntu 上編譯甚至要比 MAC 下更簡單,利用了一整套 Linux 社區的工具鏈,值得欽佩!

另外,如果你遇到類似 clang: error: unable to execute command: Killed 的報錯,不要多想,就是內存爆了,多試幾次也許就成功了😂😂😂

Ubuntu 15.10安裝部署Swift開發環境 http://www.linuxidc.com/Linux/2016-01/126995.htm

Swift 的變化:從 2.2 到 3.0 會帶來什麼 http://www.linuxidc.com/Linux/2015-12/126440.htm

Swift 正式開源,同時開源 Swfit 核心庫和包管理器 http://www.linuxidc.com/Linux/2015-12/125847.htm

Apple Swift學習教程 http://www.linuxidc.com/Linux/2014-09/106420.htm

使用 Swift 構建一個 iOS 的郵件應用 http://www.linuxidc.com/Linux/2014-08/105542.htm

Swift 2.0開源化 http://www.linuxidc.com/Linux/2015-06/118594.htm

Linux下搭建Swift語言開發學習環境 http://www.linuxidc.com/Linux/2015-12/125983.htm

Swift 的詳細介紹:請點這裡

Copyright © Linux教程網 All Rights Reserved