Ubuntu下如何安裝並使用Objective-C

來源:互聯網
上載者:User

標籤:style   blog   http   io   color   ar   os   使用   java   

Objective-C是本人用過的最佳類C、物件導向的程式設計語言。Objective-C與標準C完美相容,而在此基礎上又加上了將物件導向的基礎概念詮釋得最好的SmallTalk元素,使得它既簡潔、又靈活,絕對是做商業化項目的首先程式設計語言工具。它跟Java相比更接近底層,你可以直接在裡面寫內聯彙編或直接與彙編檔案一起串連(因為它就是C語言,在C語言基礎上擴充了SmallTalk的訊息機制與OO機制)。與C++相比,它顯然又簡潔許多,C++裡的神馬多繼承了、虛擬繼承了,坑之多數不盡。Objective-C非常容易上手,而且文法也不複雜,所以不會導致程式員出現過於良莠不齊的現象,整個項目維護起來也十分容易。

因此,不管是在Unix/Linux下還是在OS X/iOS下,使用Objective-C編程就是一種享受。下面我將為大家介紹如何在最新版本的 Ubuntu下(14.10)來安裝、編譯Objective-C。


由於,Ubuntu已經有了對Objective-C的編譯器(gobjc)的安裝,因此安裝gobjc的步驟可省,如果你用的Ubuntu的旁系系統沒有安裝可以使用以下命令進行安裝——

sudo apt-get install gobjc

接下來,我們主要就是對gnustep庫的安裝。對OS X或iOS編程過的朋友應該對Foundation庫不陌生吧,這個就是在gnustep庫裡的,如果不裝此庫,你連NSObject都用不了,呼呼~先安裝gnustep

sudo apt-get install gnustep

完成之後,我們再安裝gnustep-devel

sudo apt-get install gnustep-devel


這樣整個需要安裝的環境都安裝好了。我們下面就可以寫段代碼進行編譯了。

在編譯之前,我們進入 /usr/share/GNUstep/Makefiles 目錄,來對編譯環境進行設定,在當前控制台(terminal)執行:

sudo bash /usr/share/GNUstep/Makefiles/GNUstep.sh


這樣,當前控制台的GNUStep的編譯環境就建立好了。然後我們準備做個項目工程,可以建立一個檔案夾。然後在裡面先建立一個main.m檔案:

#import <Foundation/Foundation.h>int main(void){    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];        NSLog(@"Hello, world!");    unichar c = u‘加‘;    NSLog(@"The character is: %C", c);    [pool drain];}

 

之後,我們建立一個make檔案,命名為:GNUmakefile

GNUSTEP_MAKEFILES = /usr/share/GNUstep/Makefilesinclude $(GNUSTEP_MAKEFILES)/common.makeADDITIONAL_FLAGS += -std=gnu11TOOL_NAME = testtest_OBJC_FILES = main.minclude $(GNUSTEP_MAKEFILES)/tool.make

由於我們在原始碼中使用了C11標準中才引入的Unicode首碼字面量運算式——u‘加‘,表示一個UTF-16字元,因此我們在GNUmakefile中也加入了-std=gnu11這個編譯選項來使得編譯器使用最新的C11標準與GNU規範文法擴充。

這裡要注意的是,對於其它Linux版本的系統,GNUStep的預設安裝路徑可能不是在/usr/share/之中,因此需要根據當前GNUStep/Makefiles的路徑對GNUSTEP_MAKEFILES進行設定。而且這個變數必須在include之前定義好。

而下面的TOOL_NAME指定了make之後最終的目標可執行檔名。這裡命名為test。


完了之後,如果我們之前已經執行過GNUstep.sh,那麼可以直接敲make,然後斷行符號。工程即構建完成。如果有“gcc: error trying to exec ‘cc1obj‘: execvp: No such file or directory”之類的錯誤,那麼說明還需要安裝gobjc。


下面提供其它參考連結:

http://www.techotopia.com/index.php/Installing_and_Using_GNUstep_and_Objective-C_on_Linux

http://www.gnustep.org/resources/documentation/Developer/Base/ProgrammingManual/manual_1.html#SEC11


這裡注意,對於第一個連結中,如果直接在命令列敲gcc,是無法成功通過串連的,因為gnustep的庫都找不到。所以最好的方式還是通過利用makefile來解決問題,呼呼~ 

 

Ubuntu下如何安裝並使用Objective-C

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.