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編譯,可以用以下指令: