天天看點

如何在linux上建構objective-c程式

    swfit目前還是os x獨占,以後會不會擴充到其他系統還未可知,但objective-c并不隻存在于os x,在linux下gcc和clang都支援obj-c哦,下面簡單把如何在ubuntu上建構obj-c做一下說明:

1 安裝obj-c或obj-c++(如果需要的話)所需庫:

  * build-essential

    * gobjc

    * gobjc++

    * gnustep-devel

 直接用apt-get install 搞定吧 :)

2 用經典的hello world試一下吧:

神馬情況,腫麼出錯鳥?看出錯代碼明顯是少了連結庫檔案,度娘搜之,發現少鍊了 objc 庫,加上則通過:

我們再試試clang:

貌似又不能通過,未知參數啊!那麼我們暫且将該參數從清單中去掉再試試吧:首先展開gnustep-config --objc-flags清單,

然後從中去除上述選項,然後再編譯:

傻辦法,不是嗎?不過這回沒問題啦.我們可以看到用clang生成的可執行檔案比gcc生成的将近大一倍,具體什麼原因初學的我還不清楚哦.

另外一個要注意的是,gcc和clang雖然都可以編譯obj-c代碼,但是具體看來可能會有差異,比如以下代碼,在gcc中無法編譯通過:

會報如下錯誤:

但是clang中是沒有問題的,原因仍然未知 :(

如果是在os x上用clang編譯,可以用以下指令:

繼續閱讀