業餘出於對IPhone開發的興趣 先學習下objective c 沒Mac 故只能在Windows下折騰了
1.搭載環境
http://www.gnustep.org/experience/Windows.html 在這裡下載:GNUstep MSYS System,GNUstep Core,GNUstep Devel
2. 編寫helloworld測試
object-c用的是.m作為預設的尾碼,這裡是helloworld.m,簡單的寫下代碼:
#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下,比如我把GNUstep安裝在D:\AppleDevelop\下面,則你的檔案應該放在GNUstep\msys\1.0\home\主機名稱 下面,具體路徑可以在console下面運行pwd命令查看,取名為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。
自己寫了一個簡單的指令碼,要是嫌編譯原始碼麻煩,可以建一個檔案,比如lc.sh,然後把下面的內容複寫進去:
#!/bin/sh
gcc -o $1 $2 -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
然後在console下面運行如下命令:chmod +x lc.sh
以後要編譯器的時候,就在命令列下面輸入:./lc.sh helloworld helloworld.m
檔案中的$1和$2分別表示命令列中的helloworld 和 helloworld.m
helloworld.exe編譯並運行成功的話,說明windows下Objective C開發環境就搭建好了,這樣就可以開始以廉價方式的學習Objective C。