现在的位置: 首页 > 综合 > 正文

在windows环境下运行GNUstep

2018年05月04日 ⁄ 综合 ⁄ 共 1194字 ⁄ 字号 评论关闭

  在windows环境下安装GNUstep,运行objective-c程序,今天试了一下,记录一下操作步骤,

    1、登陆http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/网站

    2、下载一下三个文件

           gnustep-msys-system-0.30.0-setup.exe

           gnustep-core-0.31.0-setup.exe

           gnustep-devel-1.4.0-setup.exe

     3、依次安装上述文件,注意后面两个最好安装在前面同目录下,我试过不在同目录下,结果连gcc也找不到,也不清楚问题出处;

     4、安装完成之后,即可运行shell,测试一个例子

#import <Foundation/Foundation.h>

int main(int argc,const char *argv[])
{
	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

	NSLog (@"hello world");
	[pool drain];

	return 0;
}

  编译:gcc -o hello hello.m -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base

      运行即可得到结果。

      给出一个网上提供的makefile模板(注意,如果编译的时候有@try @catch @finally的特性时,请附加下面的-fobjc-exceptions标识)

CC = gcc
CFLAGS = -fconstant-string-class=NSConstantString -fobjc-exceptions
LFLAGS = -lobjc -lgnustep-base

LIB_HDRS = /GNUstep/System/Library/Headers
LIB_LIBS = /GNUstep/System/Library/Libraries

BIN = hello.exe

all : $(BIN)

$(BIN) : hello.o
	$(CC) -o $@ $< -L$(LIB_LIBS) $(LFLAGS)

hello.o : hello.m
	$(CC) -I$(LIB_HDRS) $(CFLAGS) -c $<

clean:
	rm -f $(BIN) *.o

没有问题,也算踏出objective-c的第一步了。

       补充:在shell命令下看到的目录,不知在windows环境下的位置,我将文件安装在E:/GNUstep目录下,我们的目录位置在E:\GNUstep\msys\1.0\home\下

抱歉!评论已关闭.