Objective-C現在幾乎已經變成了蘋果的專利了,可以直接在蘋果的Xcode上編譯Objective-C程序,但是在Windows平台下的編譯工具就寥寥無幾了,本身這種語言用的人就不是很多。今天在網上突然看到了有人發帖,可以在Windows平台下編譯Objective-C,就抱著好奇的心態試了試。沒想到,居然成功了,現在就把怎樣搭建Objective-C編譯平台的經驗拿出來和大家分享。
1、安裝GNUstep
GNUstep Windows Installer提供了Windows平台下的Object-C的模擬開發環境,一共有四個軟件包,其中GNUstep System和GNUstep Core是必裝的,GNUstep Devel和Cairo Backend是選裝的。只安裝前兩個就夠了。
2、編寫Objective-C代碼
安裝完成後,在開始菜單裡的GNUstep選項裡執行shell,就能打開命令行。直接在Windows裡進入C:/GNUstep/home/Administrator(我的是Administrator,可能有的不一樣)目錄,在這裡用你喜歡的工具(現在UltraEdit和Notepad++編輯器好像可以代碼高亮)編寫Object-C程序。
如:HelloWorld.m
1
#import <Foundation/Foundation.h>
2
3
int main (int argc, const char *argv[]) {
4
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
5
NSLog(@"Hello World!");
6
[pool drain];
7
8
return 0;
9
}
3、配置環境變量
這一步很重要。GNUstep.sh是用來設置GNUstep開發環境變量的,如果沒有執行,就會有很多頭文件,庫文件,命令找不到
在一個目錄裡寫好了源代碼以後,編寫一個make配置文件,名字必須叫GNUmakefile,內容是
1
include $(GNUSTEP_MAKEFILES)/common.make
2
TOOL_NAME=Test
3
Test_OBJC_FILES=HelloWorld.m
4
include $(GNUSTEP_MAKEFILES)/tool.make
可以修改上面的黑體部分
然後就是
1
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-core-x.x.x-setup.exe
gnustep-cairo-x.x.x-setup.exe
gnustep-devel-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.
作者:xiahuawuyu