Objective-C如今幾乎已經變成了蘋果的專利了,能夠直接在蘋果的Xcode上編譯Objective-C程序,可是在Windows平臺下的編譯工具就寥寥無幾了,自己這種語言用的人就不是不少。今天在網上忽然看到了有人發帖,能夠在Windows平臺下編譯Objective-C,就抱着好奇的心態試了試。沒想到,竟然成功了,如今就把怎樣搭建Objective-C編譯平臺的經驗拿出來和你們分享。php
一、安裝GNUstephtml
GNUstep Windows Installer提供了Windows平臺下的Object-C的模擬開發環境,一共有四個軟件包,其中GNUstep System和GNUstep Core是必裝的,GNUstep Devel和Cairo Backend是選裝的。只安裝前兩個就夠了。objective-c
二、編寫Objective-C代碼shell
安裝完成後,在開始菜單裏的GNUstep選項裏執行shell,就能打開命令行。直接在Windows裏進入C:/GNUstep/home/Administrator(個人是Administrator,可能有的不同)目錄,在這裏用你喜歡的工具(如今UltraEdit和Notepad++編輯器好像能夠代碼高亮)編寫Object-C程序。
如:HelloWorld.mwindows
#import <Foundation/Foundation.h> int main (int argc, const char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSLog(@"Hello World!"); [pool drain]; return 0; }
三、配置環境變量iphone
這一步很重要。GNUstep.sh是用來設置GNUstep開發環境變量的,若是沒有執行,就會有不少頭文件,庫文件,命令找不到編輯器
在一個目錄裏寫好了源代碼之後,編寫一個make配置文件,名字必須叫GNUmakefile,內容是wordpress
include $(GNUSTEP_MAKEFILES)/common.make TOOL_NAME=Test Test_OBJC_FILES=HelloWorld.m include $(GNUSTEP_MAKEFILES)/tool.make
能夠修改上面的黑體部分工具
而後就是學習
make
命令運行成功就能夠看到新增了一個obj目錄,裏面就有你要的可執行文件和.o文件。
OK 搞定了。
小結:如何在Windows上編譯Objective-C的內容介紹完了,但願本文對你有所幫助!
1.下載GNUStep
http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/
下載
gnustep-msys-system-x.x.x-setup.exe
將下載的GNUStep安裝,好比C:\GNUStep
2. 下載JEdit
http://www.jedit.org/index.php?page=download
JEdit 是Freeware,能夠用來編輯 .m 文件 .m 是Object C缺省後綴。 .m 至關於 .c 文件
3. 一個Object C教材
http://www.otierney.net/objective-c.html
———————————————
4. 安裝後,執行msys.bat 啓動 GNUStep 環境 (類Linux環境)
5. 編寫示例程序
fraction.h
#import <Foundation/NSObject.h> @interface Fraction: NSObject { int numerator; int denominator; } -(void) print; -(void) setNumerator: (int) n; -(void) setDenominator: (int) d; -(int) numerator; -(int) denominator; @end
fraction.m
#import "fraction.h" #import @implementation Fraction -(void) print { printf( "%i/%i", numerator, denominator ); } -(void) setNumerator: (int) n { numerator = n; } -(void) setDenominator: (int) d { denominator = d; } -(int) denominator { return denominator; } -(int) numerator { return numerator; } @end
main.m
#import #import "fraction.h" int main( int argc, const char *argv[] ) { // create a new instance Fraction *frac = [[Fraction alloc] init]; // set the values [frac setNumerator: 1]; [frac setDenominator: 3]; // print it printf( "The fraction is: " ); [frac print]; printf( "\n" ); // free memory [frac release]; return 0; }
6. 編寫Makefile
在當前目錄下建立GNUmakefile
include $(GNUSTEP_MAKEFILES)/common.make TOOL_NAME = Hello Hello_OBJC_FILES = main.m fraction.m include $(GNUSTEP_MAKEFILES)/tool.make
6. 編譯程序
$ make
將建立 obj目錄 運行 hello.exe
The fraction is: 1/3
這樣環境就搭好了,你就能夠繼續學習 Object C了
最終寫iphone程序通常仍是要Mac OS.
--------------------------------------------------------------------