当前位置:编程学习 > wap >>

如何在Windows上编译Objective-C

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

补充:移动开发 , IOS ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,