Windows下搭建objective C開發環境

來源:互聯網
上載者:User

標籤:style   blog   http   使用   os   strong   

最近打算針對iPhone、iPod touch和iPad開發一些應用,所以,需要開始學習Objective C(蘋果推出的類似C語言的開發語言)。由於蘋果的自我封閉的產業鏈發展模式(從晶片、機器、開發語言、終端產品、服務)的限制,要想開發針對蘋果 iPhone等產品的應用程式,就需要用Mac機器,在Xcode的IDE上使用Objective C語言開發。Mac機器就不用說了,那比PC機器要貴不少(當然性價比還是很高的),所以,要想廉價方式學習Objective C就必須要在Windows上能搭建一個Objective C開發環境。好了,不說廢話了。
      http://www.gnustep.org/experience/Windows.html
      在Windows下搭建Objective C開發環境,需要到GNUstep官方網站上下載,四個軟體包:GNUstep MSYS System、GNUstep Core、GNUstep Devel、Cairo Backend。其中,前兩個軟體包是必須要安裝的,第三個軟體包是安裝一些開發工具,比如:gcc、g++等,所以如果是學習Objective C的話,這個包也是必須要安裝,第四個軟體包是安裝glib等庫,這個包安裝不安裝根據具體情況而定。

     至於GNUstep是什麼東西,有什麼用處,這裡做個簡單的介紹:GNUstep就是提供類似Cocoa(蘋果OS的開發架構)的API和工具,目前支援GNU/Linux and GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin和Windows,免費使用的。這個項目使Objective C能在多數流行平台上開發和運行。有關詳細的介紹開始參考GNUstep的官方網站。

    言歸正傳,下載上述軟體包後,點擊安裝就可以了。然後,需要確認是否安裝成功,並且是否能成功編譯Objective C代碼。

    在“開始”菜單中“所有程式”下可以找到“GNUstep” -> “shell”,就會出console視窗,可以試試一些Linux命令(ls,cd,mkdir等)。

編寫一個Objective C代碼進行編譯運行測試。在這裡就用經典的“hello world”來說明:

#import <Foundation/Foundation.h>int main (int argc, const char *argv[]) {    NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];    NSLog(@"Hello World!");    [pool drain];    return 0;}
    在Windows環境下用文字編輯器(Editplus,UE等),編寫上述代碼,並且儲存到 GNUstep安裝目錄下的/home下,取名為helloworld.m。在GNUstep的console視窗命令列下,

    1、cd /home

    2、gcc -o helloworld helloworld.m -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base

    3、運行helloworld.exe

說明:第二步中的一些參 數明說,如果熟悉Linux/Unix下C/C++編譯的話,上述參數應該很熟悉,-I表示標頭檔尋找的路徑,-L表示庫檔案尋找路徑,-l表示需要連結 的庫檔案。但是,-fconstant-string-class=NSConstantString  對於這個參數可能比較陌生,這個參數主要是指定常量字串所使用的class。  

改進:由於在GNUstep的視窗下不能複製,粘貼,手動打字容易出錯,所以,可以寫個shell指令碼,取名為test.sh,內容如下:

gcc -o "$1" "$2" -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base

然後和上面的一樣,在GNUstep的console視窗命令列下  

    1、cd /home

    2、sh test.sh  helloworld  helloworld.m

    3、運行helloworld.exe

說明:test.sh中的$1 和 $2分別表示擷取執行test.sh時傳進來的第1個和第2個參數,然後通過sh test.sh  helloworld helloworld.m就是執行test.sh指令碼並傳入兩個參數,採用傳參數的目的是讓這個test.sh成為一個編譯的模板,這樣每次只要傳不同的參數就可以編譯運行。

    helloworld.exe編譯並運行成功的話,說明windows下Objective C開發環境就搭建好了,這樣就可以開始以廉價方式的學習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.