2021-05-12 14:32:11
在 Linux 上編譯、安裝測試 Swift
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
的報錯,不要多想,就是記憶體爆了,多試幾次也許就成功了
相關文章