Swift源碼編譯為Xcode項目

今天和大家講講怎么樣將github中的swift源碼編譯到Xcode可以打開的項目:

1员咽,安裝cmake 去官網(wǎng)下載cmake悬而,我下的是目前的最新版本cmake-3.12.0-rc3-Darwin-x86_64.tar.gz,如下圖:


cmake官網(wǎng)下載圖

下載完成以后,接著就解壓,會看到這個玩意兒:


cmake解壓后

把這個拷貝到應(yīng)用程序目錄下面,接著打開這個應(yīng)用程序歌亲,找到tools->how to install...這一行,會提示你怎樣操作澜驮,我選擇的是第二個:


cmake tools


cmake

接著可以打開終端了陷揪,復(fù)制上圖畫圈的sudo這一行到終端執(zhí)行一下,好啦杂穷,cmake客戶端和終端命令都搞定了悍缠!

2,安裝ninja(從git下載)

首先創(chuàng)建一個文件夾耐量,并定位到這個文件夾下飞蚓,如下:

mkdir -p ~/ninja && cd ~/ninja

下載安裝包:

git clone https://github.com/martine/ninja

進(jìn)入ninja:

cd ninja

編譯ninja:

./configure.py --bootstrap

這里我報了一個錯:


編譯ninja錯誤

這個錯誤不要慌,是缺少re2c,這個時候只要安裝好re2c就行了廊蜒,接下來說說一下如何安裝re2c:

進(jìn)入到這個re2c官網(wǎng)趴拧,下載最新的包:我下載的是re2c-1.0.3.tar.gz

下載完成以后解壓,然后用命令行定位到解壓后的文件夾: cd? re2c路徑

也可以打開這個文件夾看一下里面的內(nèi)容山叮,應(yīng)該差不多是這個樣子(可以查看對應(yīng)的readme文件著榴,也可以跟著我的步驟來):


re2c

這個時候在命令行這樣做:

./configure

等待命令執(zhí)行完畢再輸入:

make

等待執(zhí)行完畢再輸入:

make install

至此,如果一切順利,re2c就安裝完畢了屁倔;回頭再來安裝ninja

cd? 定位到你剛才的ninja文件夾:我的是:cd ~/ninja/ninja

這個時候在命令行輸入:./configure.py --bootstrap脑又,如果一切順利,就安裝成功了汰现。這個時候可以在終端輸入:./ninja --version? ? ? 如果終端能顯示版本就說明正常了挂谍。


ninja安裝成功

但是有個問題是,這個命令必須制定完整的路徑或者像剛才一樣在當(dāng)前目錄才可以執(zhí)行瞎饲,這個時候我們?nèi)绻朐谌魏温窂较轮灰獔?zhí)行 ninja --version都能看到版本就好了口叙,此時我們可以配置環(huán)境變量:使用如下命令(如果在~目錄下有.bash_profile這個文件就不用創(chuàng)建):

touch ~/.bash_profile? ? (創(chuàng)建.bash_profile)

用vi 編輯器打開:

vi ~/.bash_profile

在vi編輯器中進(jìn)行編輯(按i開啟編輯),輸入以下內(nèi)容:

export NINJA_HOME=ninja的路徑? ? 我這里是: ~/ninja/ninja

export PATH=$PATH:$NINJA_HOME

編輯完成按esc退出編輯嗅战,然后按? ? ?:wq? ? ? 保存并退出編輯器

用這個命令讓環(huán)境變量生效: source ./.bash_profile

這樣環(huán)境變量就設(shè)置成功了妄田,我們測試一下俺亮,

cd? /

ninja --version

你會看到出現(xiàn)了ninja的版本號


至此ninja安裝完畢。 附上mac配置環(huán)境變量的方法:

3疟呐,下載swift在github上的倉庫:可以按照git上的操作的操作進(jìn)行脚曾,這里我說說我自己的操作


獲取source和related project


首先download項目,存儲在你自己定義的文件夾里面启具,我是下載到:~/Deskdop/swift-source 里面:

下載成功以后本讥,就進(jìn)入到剛才那個文件夾,然后解壓鲁冯,再進(jìn)入解壓后的目錄:? 執(zhí)行 utils/update-checkout --clone? 這個命令(https的方式)拷沸,安靜的等待執(zhí)行完畢(時間會有一點(diǎn)長,泡一杯咖啡吧)薯演,當(dāng)然也可以用git ssh的方式操作,只不過需要添加github密鑰(參考添加密鑰),這一步完成以后就開始編譯swift源碼了撞芍。


編譯swift

至此等待編譯完畢。


編譯的結(jié)果
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末跨扮,一起剝皮案震驚了整個濱河市序无,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌衡创,老刑警劉巖帝嗡,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異钧汹,居然都是意外死亡丈探,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進(jìn)店門拔莱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碗降,“玉大人,你說我怎么就攤上這事塘秦∷显ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵尊剔,是天一觀的道長爪幻。 經(jīng)常有香客問我,道長须误,這世上最難降的妖魔是什么挨稿? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮京痢,結(jié)果婚禮上奶甘,老公的妹妹穿的比我還像新娘。我一直安慰自己祭椰,他們只是感情好臭家,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布疲陕。 她就那樣靜靜地躺著,像睡著了一般钉赁。 火紅的嫁衣襯著肌膚如雪蹄殃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天你踩,我揣著相機(jī)與錄音诅岩,去河邊找鬼。 笑死姓蜂,一個胖子當(dāng)著我的面吹牛按厘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播钱慢,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼卿堂!你這毒婦竟也來了束莫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤草描,失蹤者是張志新(化名)和其女友劉穎览绿,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體穗慕,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡饿敲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了逛绵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怀各。...
    茶點(diǎn)故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖术浪,靈堂內(nèi)的尸體忽然破棺而出瓢对,到底是詐尸還是另有隱情,我是刑警寧澤胰苏,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布硕蛹,位于F島的核電站,受9級特大地震影響硕并,放射性物質(zhì)發(fā)生泄漏法焰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一倔毙、第九天 我趴在偏房一處隱蔽的房頂上張望埃仪。 院中可真熱鬧,春花似錦普监、人聲如沸贵试。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毙玻。三九已至豌蟋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間桑滩,已是汗流浹背梧疲。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留运准,地道東北人幌氮。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像胁澳,于是被迫代替她去往敵國和親该互。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 有一個人是個誠實正直的善人韭畸,上帝經(jīng)不住撒旦的引誘對他降罪宇智,使他蒙受苦難。他的三位朋友與他論辯胰丁,試圖使他相信他是有罪...
    胡涂格格閱讀 491評論 0 0
  • 事情是從這部電影的原聲帶中的一首不長的樂曲開始的锦庸,不得不佩服王家衛(wèi)的音樂鑒賞能力机蔗,絕對是個有品位的人。 ...
    andy1999閱讀 1,756評論 0 3
  • 今天寫15分鐘吧甘萧,這一段在本子上寫萝嘁,有點(diǎn)隨意,完全隨性幔嗦,本子隨時在手邊酿愧,有時是一句話而已。 昨天才開始看看電視邀泉,《...
    何偀閱讀 339評論 0 0
  • 潘瑋柏引領(lǐng)街頭潮風(fēng)的品味,無人能及因谎,繼配戴要價5800萬的Richard Mille透明骷髏頭藍(lán)寶石陀飛輪RM05...
    灌南高手No1閱讀 401評論 0 0